# Reported issues for remem

Pod holds 19 of 74 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [remem](/mcp/remem).

## Most discussed

### Legacy observation dual path: decide retire-vs-freeze, inventory writers/readers, and converge on the capture ledger

## Problem

Two storage generations coexist and are both live:

- Legacy pre-v006 path: `pending_observations` queue (`src/db/pending/`), `observations` (+ `observations_fts`), `session_summaries` write/finalize paths (`src/db/summarize/session/`), plus legacy migration helpers (`migrate_legacy_pending`, truncation shims).
- Current path: `captured_events` -> `extraction_tasks` -> `memory_candidates` -> `memories` capture ledger.

The legacy path still leaks into user-facing surfaces: MCP `get_o

[Read the thread](https://github.com/majiayu000/remem/issues/684) · 2026-07-02 · closed · 10 comments

### [Blocked][Apps SDK] Build Remem Apps SDK GUI app for Codex

## Context

The current Codex plugin wrapper in #389 packages Remem as a Codex plugin with a skill and bundled stdio MCP server. That is useful backend/plugin foundation, but it is not the GUI app plugin target.

Codex plugin packaging supports `skills`, `mcpServers`, `hooks`, and `apps` in `.codex-plugin/plugin.json`. The GUI-style app path is the `apps` entry, which points at `.app.json`. Local examples such as the GitHub plugin map `.app.json` to an existing connector/app id, e.g. `connector_

[Read the thread](https://github.com/majiayu000/remem/issues/390) · 2026-06-10 · closed · 10 comments

### Context Bundle v1：稳定 ContextRequest / ContextPlan / ContextBundle / ContextAudit 合约

# Context Bundle v1：稳定 ContextRequest / ContextPlan / ContextBundle / ContextAudit 合约

## 背景

当前 remem 已经具备：

- SessionStart context rendering；
- preference / core / lesson / session / workstream 分区；
- MCP `search`、`get_observations`、`timeline`、`workstreams`；
- branch-aware selection、全局 relevance budget 和 audit contract。

但调用方仍然主要面对“若干搜索工具 + 一段预渲染文本”。随着 retrieval enrichment、rerank、graph、host-native memory 和更多 scope 加入，调用方不应该自行理解所有检索细节。

目标是把 remem 从“返回 memory 结果的搜索层”提升为：

> policy-aware context 

[Read the thread](https://github.com/majiayu000/remem/issues/932) · 2026-07-24 · closed · 7 comments

### Add truthful MCP tool annotations and output schemas

## Background

Glama currently scores Tool Definition Quality at an average of 4/5 across all 14 MCP tools. Its per-tool feedback repeatedly notes that the tools expose no MCP annotations and no output schemas, so prose descriptions carry the full burden of explaining behavior and response structure.

Score page: https://glama.ai/mcp/servers/majiayu000/remem/score

The current implementation uses `rmcp 0.15.0`, whose tool macro supports annotations such as `read_only_hint`, `destructive_hint`, a

[Read the thread](https://github.com/majiayu000/remem/issues/981) · 2026-07-31 · closed · 6 comments

### Publish first Glama release and validate usage telemetry

## Background

Issue #830 added the repository metadata needed for Glama introspection. The current build spec now succeeds:

- Successful build test: https://glama.ai/mcp/servers/majiayu000/remem/admin/dockerfile/tests/019fb6f7-1502-7d6e-a7ed-0171b485bf66
- Duration: 12.6s
- Runtime: Node 26 / Python 3.14
- Binary download: `releases/latest/download/remem-linux-x64.tar.gz` (currently resolves to v0.6.35)
- Startup: `mcp-proxy -- env REMEM_ALLOW_PLAINTEXT_DB=1 remem mcp`
- MCP initialize and `to

[Read the thread](https://github.com/majiayu000/remem/issues/980) · 2026-07-31 · closed · 6 comments

### M3 umbrella: semantic kernel completion — explain for agents, calibrated abstention, synonym retirement, weight-calibration artifact, reindex command, extraction prompt upgrade

## Problem

The core M3 work is tracked in #358 (real embeddings), #361 (score-aware fusion), #355 (write-side dedup), #357 (promotion gate), and #360 (extraction cursor). This umbrella tracks the M3 remainder that no issue covers, all of which becomes possible or necessary once those land.

**Evidence:**
- `src/mcp/server/search_tools.rs:48` — `explain: false` is hardcoded; agents can never see why a result surfaced (HTTP path has the same gap).
- `src/retrieval/search/memory/text.rs:14` — `MAX

[Read the thread](https://github.com/majiayu000/remem/issues/380) · 2026-06-10 · closed · 6 comments

### Cursor hook I/O 协议：HookStrategy::Cursor、payload 解析与 additional_context 注入

Parent: #821 · 前置依赖: #822（transcript/注入行为实测）

## 问题

remem 的 hook 子命令（`context` / `session-init` / `observe` / `summarize`）当前只理解 Claude Code 与 Codex 两套 stdin/stdout 协议（`src/install/config.rs` 的 `HookStrategy`，`src/context/invocation.rs` 的 payload 解析，`src/context/render.rs` 的 `codex_hook_json_output`）。Cursor 的 hook 协议同构但字段不同：

- stdin：`session_id` / `is_background_agent` / `composer_mode` / base 字段 `transcript_path`，`postToolUse` 为 `tool_name` / `tool_input` / `tool_output`（JSON-stringified）/ `du

[Read the thread](https://github.com/majiayu000/remem/issues/823) · 2026-07-14 · closed · 5 comments

### CursorHost 安装面：hooks.json + mcp.json 安装/卸载/dry-run 与 doctor 检查

Parent: #821 · 依赖: #823（协议定稿决定 hooks.json 内容）

## 问题

`src/install/host.rs` 的 `InstallHost` trait 已为多 host 设计（`HookSupport::Skipped` 注释明确预留 Cursor），但 `InstallTarget` 枚举只有 Auto/Claude/Codex/All，`src/install/hosts/` 下只有 `claude.rs` / `codex.rs`。

## 范围

1. 新增 `src/install/hosts/cursor.rs` 实现 `InstallHost`：
   - `install_mcp` / `uninstall_mcp`：写 `~/.cursor/mcp.json` 的 remem server 条目（幂等）。
   - `install_hooks` / `uninstall_hooks`：写 `~/.cursor/hooks.json`（User 级），事件映射 sessionStart→context、postToolUse

[Read the thread](https://github.com/majiayu000/remem/issues/824) · 2026-07-14 · closed · 3 comments

## Most recent

### Expose stable host-bound raw sessions for Refine consumers

## Problem

Refine needs to consume Claude Code, Codex CLI, and Cursor sessions from Remem without reading host-owned transcript files or maintaining a second raw transcript store. The existing raw-session summary does not expose an authoritative coding-agent host, a stable consumer reference, or a content fingerprint, so same-ID sessions can collide across runtimes and consumers cannot cheaply detect unchanged sessions.

## Scope

- persist the exact supported host on transcript identity;
- exp

[Read the thread](https://github.com/majiayu000/remem/issues/1053) · 2026-08-29 · closed · 1 comment

### [Impl] Add surface lifecycle manifest and consistency guard

## Problem

The accepted GH969 stabilization contract has a canonical human-readable surface inventory, but the repository does not yet have the machine-readable manifest and lifecycle consistency guard required to keep that inventory aligned with the code users can actually call.

Without an executable inventory, a newly exported Rust symbol, registered MCP tool, REST route, CLI command, default feature, or offline harness can appear without an owner or lifecycle decision. Existing entries can 

[Read the thread](https://github.com/majiayu000/remem/issues/1042) · 2026-08-24 · closed · 1 comment

### [Impl] Unify active-memory activation boundary and add bypass guard

## Problem

The GH969 stabilization contract now requires every production operation that inserts or updates a curated memory into `status='active'` to pass one logical activation boundary. Current main still exposes several independently implemented activation routes—candidate promotion, MCP/REST direct save, governed pack import, scope cleanup/reactivation, Web governance restore, and exact Dream stock recovery—so policy, caller evidence, route identity, supersede behavior, and retry semantics

[Read the thread](https://github.com/majiayu000/remem/issues/1040) · 2026-08-21 · closed · 1 comment

### Improve MCP tool coherence and selection guidance without breaking public names

## Background

Glama currently reports these Server Coherence subscores:

- Disambiguation: 4/5
- Naming consistency: 3/5
- Tool count: 5/5
- Completeness: 4/5

It also gives the lowest Tool Definition Quality scores to:

- `current_state`: 3.5/5
- `recall_user_context`: 3.5/5
- `timeline_report`: 3.5/5
- `update_workstream`: 3.8/5
- `get_observations`: 3.9/5
- `timeline`: 3.9/5

Score page: https://glama.ai/mcp/servers/majiayu000/remem/score

The common feedback is missing behavior disclosure, 

[Read the thread](https://github.com/majiayu000/remem/issues/982) · 2026-07-31 · closed · 0 comments

### perf(migrate): run_migrations 每次 open_db 抢写锁，读请求被串行化

## 现象

`run_migrations` 无条件开启 `BEGIN IMMEDIATE` 写事务（`src/migrate/run.rs`），而 REST API 和 MCP server 都是**每请求现开一个连接**（`open_request_db()` → `db::open_db()` → `run_migrations`）。因此每个读请求（search / list / detail / stats / graph / …）即使 schema 已最新，也会获取一次整库写锁。

## 影响

- WAL 本应支持并发读，但每次 `open_db()` 的 `BEGIN IMMEDIATE` 把并发读串行化在写锁后面。
- 与后台 worker 的写并发时，读请求可能等锁至 `busy_timeout`（5s）。

## 证据

- `src/migrate/run.rs`：`run_migrations` → `run_migration_transaction` → `execute_batch("BEGIN IMMEDIATE")`，无「已最新则短路」早退。
- `

[Read the thread](https://github.com/majiayu000/remem/issues/916) · 2026-07-24 · closed · 0 comments

### 为本地控制台补齐安全证据、只读资源与可恢复记忆治理

## Summary

为 `remem-web` 的完整本地控制台补齐经过 capability gating 的后端契约：候选详情与脱敏证据、observations/sessions/workstreams/events/tasks 只读资源，以及 archive/restore 可恢复治理。

该 issue 关联 `majiayu000/remem-web#3`。当前用户已明确授权进入 spec 阶段（conversation: “你做吧”）；永久删除继续保持在 Web 范围外。

## Current facts

- 当前 native API 已提供 capabilities、status/search/memory、candidate list/filter/approve/reject/edit、graph 和 stats。
- candidate review 写端点已经存在，但 Web 尚无经过验证的 candidate detail/evidence provenance 合约。
- observations、sessions、workstreams、even

[Read the thread](https://github.com/majiayu000/remem/issues/880) · 2026-07-17 · closed · 0 comments

### GH720 T4 real-data reconciliation: raw session reads lock and identity/counts diverge

Parent: #720

## Problem

The GH720 SP720-T4 real-data reconciliation was executed on 2026-07-17 and exposed two blocking gaps instead of parity:

1. `remem raw sessions` opens the database through `db::open_db()` even though it is a read-only query. With multiple normal remem MCP processes active, the command failed with `begin migration transaction: database is locked`. A temporary, uncommitted change to `open_db_read_only()` made the same query succeed; the patch was reverted after diagnosis.

[Read the thread](https://github.com/majiayu000/remem/issues/871) · 2026-07-17 · closed · 0 comments

### specrail sync guard: loader-construction and exec/eval evasion backlog from PR #859 review

## Context

PR #859 review (GH858) went through 4 hardening rounds on `scripts/sync-specrail-checks.sh`'s import-classification guard. The review converged on the same scope boundary that #860 established for the GH671 rule evaluator: **this guard defends against honest mistakes and accidental untracked-helper imports, not against a deliberately adversarial repo committer** (who can trivially edit the sync script itself).

Fixed across rounds 2–4 (commits dabd042c, 78e66b07, 053bbbda): dynamic-i

[Read the thread](https://github.com/majiayu000/remem/issues/863) · 2026-07-16 · closed · 2 comments

### Unlock Glama quality score: add glama.json + Dockerfile for MCP introspection

## Background

Glama lists remem at https://glama.ai/mcp/servers/majiayu000/remem but the quality score is stuck at **25% (profile completeness only)**.

The real quality score is composed of:
- **Tool Definition Quality** — 70% weight
- **Server Coherence** — 30% weight

Both are currently **"Not Yet Scored"**, blocked on *"requires a Glama release (currently unavailable)"*.

## Root cause

To score those two dimensions Glama must actually start the MCP server and introspect its `tools/list`. r

[Read the thread](https://github.com/majiayu000/remem/issues/830) · 2026-07-14 · closed · 0 comments

### [Epic] Cursor host 支持：记忆注入 + 自动捕获 + MCP

## 背景

remem 当前支持 Claude Code 与 Codex 两个 host（`src/install/host.rs` 的 `InstallHost` trait；`HookSupport::Skipped` 注释已预留 Cursor）。Cursor 自 1.7 起提供了与 Claude Code 同构的 hooks 体系：

- `hooks.json`（项目级 `.cursor/hooks.json` + 全局 `~/.cursor/hooks.json`），hook 以独立进程运行、stdin 收 JSON。
- 事件覆盖 `sessionStart` / `beforeSubmitPrompt` / `postToolUse` / `preCompact` / `stop` / `afterFileEdit` 等。
- `sessionStart` 与 `postToolUse` 支持输出 `additional_context` 字段直接注入对话上下文。
- 所有 hook 的 base 字段包含 `transcript_path`（string | null

[Read the thread](https://github.com/majiayu000/remem/issues/821) · 2026-07-14 · closed · 2 comments

### [Audit] 重新基于 origin/main 校准 2026-07-09 审计与 findings ledger

## 摘要

重新以当前 `origin/main` 为基线，校准本地 `audit-report-2026-07-09.md` 与 `.audit/findings.json`。这两个文件保留了有价值的历史审计证据，但当前把旧分支快照、已修复项、既有 Issue、仍开放项和未经复核项混在一起，不能直接作为 current-main 的缺陷清单。

本 Issue 是公开审计总表；安全敏感项只记录路由状态，不在公开内容中披露复现或攻击细节。

## 基线与证据

- 报告审计对象显示为 remem v0.5.21。
- 复核时当前 `origin/main` 为 v0.5.203，commit `b191e3f6`。
- 生成审计文件的本地分支相对当前 `origin/main` 落后 509 commits。
- 报告头部没有记录 source commit、branch、dirty state 或 compared-main commit，因此无法把结论唯一绑定到可复现源码快照。
- 已在复核前搜索全部 open/closed Issues 与 PRs，避免重复建单。

## 当前

[Read the thread](https://github.com/majiayu000/remem/issues/820) · 2026-07-14 · closed · 2 comments

The remaining reports are on [the project's issue tracker](https://github.com/majiayu000/remem/issues).
