Skip to content

chore: prepare v5.0.0 release#200

Merged
thebtf merged 2 commits into
mainfrom
release/v5.0.0-122
Apr 23, 2026
Merged

chore: prepare v5.0.0 release#200
thebtf merged 2 commits into
mainfrom
release/v5.0.0-122

Conversation

@thebtf
Copy link
Copy Markdown
Owner

@thebtf thebtf commented Apr 22, 2026

Summary

  • bump plugin and daemon release surface to v5.0.0
  • align runtime version markers used by daemon, dispatcher, and engramcore init path
  • add docs/release-notes/v5.0.0.md
  • update CHANGELOG.md with the v5.0.0 major release entry
  • update README, README.ru.md, and README.zh.md to describe the static-only v5 architecture instead of the removed dynamic stack

Why now

US13 is merged and engram#122 is now unblocked. This PR prepares the release surface needed before tag + GitHub release + marketplace sync.

Verification

  • go test ./... -count=1
  • go build ./...

Issue

  • advances engram#122 toward final release ceremony

Summary by CodeRabbit

Выпуск v5.0.0

  • Новые возможности

    • Статический поток инициализации сеанса с локальным кэшем (ENGRAM_DATA_DIR) и показом устаревшего состояния при недоступности сервера.
    • Явная проверка совместимости мажорных версий при старте сессии; согласованные версии плагина/демона (5.0.0).
  • Удалено

    • Подсистемы динамического обучения, графов, гибридного поиска, переранжирования и встраиваний.
  • Критические изменения

    • Переход к статическим составным payload’ам для session-start; несовместимые мажорные версии теперь вызывают явную ошибку.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 22, 2026

Walkthrough

Обновление релизной документации и README до v5.0.0; переход архитектуры на статическую модель session-start через gRPC (GetSessionStartContext, NegotiateVersion); добавлены правила совместимости версий, локальный кэш session-start и синхронизация версий демона/плагина; мелкие тестовые и константные правки версии.

Changes

Cohort / File(s) Summary
Changelog & Release Notes
CHANGELOG.md, docs/release-notes/v5.0.0.md
Добавлен релиз v5.0.0 с перечнем удалённых подсистем, описанием статической модели памяти, gRPC session-start (GetSessionStartContext, NegotiateVersion) и поведенческих/совместимости breaking-изменений.
README (all locales)
README.md, README.ru.md, README.zh.md
Переписаны архитектура, фичи и операционная документация: переход на статический session-start через gRPC, удаление гибридного поиска/переранжирования/встраиваний/фоновых механизмов, добавлен локальный кэш ${ENGRAM_DATA_DIR}/cache/session-start-{project-slug}.json и инструкции по совместимости версий.
Daemon & Client version constants
cmd/engram/main.go, internal/handlers/engramcore/tools.go, internal/module/dispatcher/protocol.go
Обновлены константы версии: daemonVersion и daemonClientVersion/serverInfo.versionv5.0.0.
Tests: version negotiation & contracts
internal/grpcserver/version_negotiate_test.go, internal/handlers/engramcore/contract_test.go, internal/module/dispatcher/dispatcher_test.go
Тестовые фикстуры и утверждения обновлены для серверной версии 5.0.0; ожидания совместимости/несовместимости основных версий скорректированы.
Plugin manifest
plugin/engram/.claude-plugin/plugin.json
Версия плагина обновлена с 5.0.0-alpha.1 на стабильную 5.0.0.
Docs: new release notes page
docs/release-notes/v5.0.0.md
Добавлена подробная страница релиз-нот с миграционными инструкциями, списком breaking-изменений и спецификацией session-start/compatibility.

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
Loading

Estimated code review effort

🎯 2 (Простой) | ⏱️ ~12 минут

Possibly related PRs

Обзор

Обновлены документация и версии для выпуска v5.0.0, включая изменение архитектуры на статическую модель сессии-start с использованием gRPC и введение явной проверки совместимости версий. Константы версии обновлены с v4.5.0/4.3.0 на v5.0.0, а тестовые fixtures скорректированы соответственно.

Изменения

Когорта / Файл(ы) Описание
Документация выпуска
CHANGELOG.md, docs/release-notes/v5.0.0.md
Добавлены подробные заметки о выпуске v5.0.0, документирующие переход на статическую модель памяти, удаление динамического стека обучения и новый поток gRPC session-start с переговорами версий.
Файлы README (на нескольких языках)
README.md, README.ru.md, README.zh.md
Обновлены описания функций, архитектуры и конфигурации для отражения упрощённой статической модели v5.0.0, удаления гибридного поиска/переранжирования/встраиваний и добавления поддержки кэша session-start.
Константы версии демона
cmd/engram/main.go
Обновлена константа daemonVersion с v4.5.0 на v5.0.0.
Константы версии клиента и тесты версий
internal/handlers/engramcore/tools.go, internal/module/dispatcher/protocol.go
Обновлена констант daemonClientVersion и serverInfo.version с v4.3.0 на v5.0.0 для отражения текущей версии при инициализации.
Тесты переговоров версий
internal/grpcserver/version_negotiate_test.go
Обновлены fixtures тестов версионного взаимодействия для работы с серверной версией 5 вместо 4, включая проверки совместимости и несовместимости основных версий.
Тесты контракта и диспетчера
internal/handlers/engramcore/contract_test.go, internal/module/dispatcher/dispatcher_test.go
Обновлены ожидаемые значения версии с v4.3.0 на v5.0.0 в утверждениях тестов инициализации.
Манифест плагина
plugin/engram/.claude-plugin/plugin.json
Обновлена версия плагина с 5.0.0-alpha.1 на стабильный выпуск 5.0.0.

Оценка трудозатрат на code review

🎯 2 (Простой) | ⏱️ ~12 минут

Возможно связанные PR

Предлагаемые метки

ai-review:active

Стихотворение

🐰 Пятой версии звенит заря,

gRPC и статика — вот она.
Кэш храню в папке — не пропадёт,
Версии в ряд, конфликт уйдёт,
Хоп — и код снова бежит как кот! 🥕

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 42.86% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Заголовок PR полностью соответствует основным изменениям: обновление версии продукта с v4.5.0 на v5.0.0 во всех компонентах (daemon, plugin, документация и тесты).
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v5.0.0-122

Comment @coderabbitai help to get the list of available commands and usage tips.

@thebtf
Copy link
Copy Markdown
Owner Author

thebtf commented Apr 22, 2026

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 22, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread README.md Outdated
Comment thread README.md
Comment thread README.ru.md Outdated
Comment thread README.ru.md
Comment thread README.ru.md
Comment thread README.zh.md Outdated
Comment thread README.zh.md
Comment thread README.zh.md
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 531a6e5 and 89b71c6.

📒 Files selected for processing (12)
  • CHANGELOG.md
  • README.md
  • README.ru.md
  • README.zh.md
  • cmd/engram/main.go
  • docs/release-notes/v5.0.0.md
  • internal/grpcserver/version_negotiate_test.go
  • internal/handlers/engramcore/contract_test.go
  • internal/handlers/engramcore/tools.go
  • internal/module/dispatcher/dispatcher_test.go
  • internal/module/dispatcher/protocol.go
  • plugin/engram/.claude-plugin/plugin.json

Comment thread CHANGELOG.md
Comment thread README.md
Comment thread README.ru.md
Comment thread README.zh.md
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ 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

📥 Commits

Reviewing files that changed from the base of the PR and between 89b71c6 and fc5d484.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • README.md
  • README.ru.md
  • README.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

@thebtf
Copy link
Copy Markdown
Owner Author

thebtf commented Apr 23, 2026

🤖 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"
}

@thebtf thebtf merged commit 68ad51a into main Apr 23, 2026
8 checks passed
@thebtf thebtf deleted the release/v5.0.0-122 branch April 23, 2026 00:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant