diff --git a/README.md b/README.md index fb2d991..cf370a0 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ operation. Install the latest tagged release from GitHub with Codex's native plugin flow: ```sh -codex plugin marketplace add Team-Volt/codex-lcm --ref v0.2.7 +codex plugin marketplace add Team-Volt/codex-lcm --ref v0.2.8 codex plugin add codex-lcm@codex-lcm ``` @@ -123,20 +123,20 @@ The native plugin manifest wires the MCP server, lifecycle hooks, and The first TUI session after install asks you to review and trust the lifecycle hooks. That is expected. Hooks capture the session data that LCM indexes. -Upgrade an existing GitHub marketplace install to `v0.2.7`: +Upgrade an existing GitHub marketplace install to `v0.2.8`: ```sh codex plugin marketplace remove codex-lcm -codex plugin marketplace add Team-Volt/codex-lcm --ref v0.2.7 +codex plugin marketplace add Team-Volt/codex-lcm --ref v0.2.8 codex plugin add codex-lcm@codex-lcm ``` -Upgrade a local checkout install to `v0.2.7` by checking out the release tag, +Upgrade a local checkout install to `v0.2.8` by checking out the release tag, then asking Codex to refresh the installed plugin cache: ```sh git -C /path/to/codex-lcm fetch --tags origin -git -C /path/to/codex-lcm checkout v0.2.7 +git -C /path/to/codex-lcm checkout v0.2.8 codex plugin add codex-lcm@codex-lcm ``` @@ -165,7 +165,7 @@ codex plugin remove codex-lcm@codex-lcm ## Release Status -Current release: `v0.2.7`. +Current release: `v0.2.8`. Codex LCM is a local-first Codex memory plugin with native plugin installation, hook ingestion, sanitized raw event storage, SQLite FTS, DAG-backed retrieval, @@ -175,19 +175,19 @@ tools. The `lcm-recall` skill gives Codex a repeatable retrieval workflow for resumes, compaction recovery, long-running work, and questions about prior sessions. -### v0.2.7 notes +### v0.2.8 notes -This release cuts derived SQLite storage and keeps multi-session retrieval -responses bounded without changing the raw JSONL source of truth. +This release makes truncated payloads recoverable through search and description +tools, adds a repeatable retrieval-quality benchmark, and fixes two data-shape +issues in stored and packed results. -- Adds `codex-lcm cleanup`, which previews index compaction by default and - requires `--apply` before writing. -- Keeps high-signal prompts, notes, outcomes, and compaction summaries in FTS - instead of duplicating large tool payloads across derived tables. -- Returns compact summaries from session listings, removes repeated MCP response - text, and makes full lineage arrays opt-in. -- Shortens post-compaction stop feedback while still requiring - `lcm_pack_context` before completion continues. +- Preserves sanitized overflow payloads, lets `lcm_grep` search them, and pages + verified content through `lcm_describe`. +- Adds `codex-lcm benchmark retrieval-quality` with Recall@1, Recall@5, mean + reciprocal rank, category scores, and per-query ranks. +- Keeps boolean `private` package metadata instead of redacting it as a secret. +- Returns packed recovery Markdown in MCP structured content so Codex Desktop + can restore context from structured tool results. Use the [Installation](#installation) section for install and upgrade commands. diff --git a/docs/releases/v0.2.8.md b/docs/releases/v0.2.8.md new file mode 100644 index 0000000..7903218 --- /dev/null +++ b/docs/releases/v0.2.8.md @@ -0,0 +1,33 @@ +# Codex LCM v0.2.8 + +`v0.2.8` makes truncated payloads recoverable through search and description +tools, adds a repeatable retrieval-quality benchmark, and fixes two data-shape +issues in stored and packed results. + +## Changes + +- ([#48](https://github.com/Team-Volt/codex-lcm/pull/48)) Preserve sanitized overflow payloads, let `lcm_grep` search them, and page integrity-checked content through `lcm_describe`. +- ([#49](https://github.com/Team-Volt/codex-lcm/pull/49)) Add `codex-lcm benchmark retrieval-quality`, which measures Recall@1, Recall@5, mean reciprocal rank, category scores, and per-query ranks against a fixed corpus. +- ([#50](https://github.com/Team-Volt/codex-lcm/pull/50)) Keep boolean `private` package metadata instead of redacting it as a secret, while continuing to redact string values and compound secret keys. +- ([#51](https://github.com/Team-Volt/codex-lcm/pull/51)) Return packed recovery Markdown in MCP structured content so Codex Desktop can restore context from structured tool results. + +## Upgrade to v0.2.8 + +Restart Codex Desktop or open a fresh Codex CLI/TUI session after upgrading so +the refreshed plugin cache, MCP server, hooks, and skill are loaded. + +For an existing GitHub marketplace install: + +```sh +codex plugin marketplace remove codex-lcm +codex plugin marketplace add Team-Volt/codex-lcm --ref v0.2.8 +codex plugin add codex-lcm@codex-lcm +``` + +For a local checkout install: + +```sh +git -C /path/to/codex-lcm fetch --tags origin +git -C /path/to/codex-lcm checkout v0.2.8 +codex plugin add codex-lcm@codex-lcm +``` diff --git a/plugins/codex-lcm/.codex-plugin/plugin.json b/plugins/codex-lcm/.codex-plugin/plugin.json index 708f6ec..6635a4c 100644 --- a/plugins/codex-lcm/.codex-plugin/plugin.json +++ b/plugins/codex-lcm/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "codex-lcm", - "version": "0.2.7", + "version": "0.2.8", "description": "Codex-native session-first lossless context memory with hook ingestion and MCP retrieval.", "author": { "name": "Team Volt" diff --git a/plugins/codex-lcm/package-lock.json b/plugins/codex-lcm/package-lock.json index 6689466..c925370 100644 --- a/plugins/codex-lcm/package-lock.json +++ b/plugins/codex-lcm/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-lcm", - "version": "0.2.7", + "version": "0.2.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-lcm", - "version": "0.2.7", + "version": "0.2.8", "license": "MIT", "bin": { "codex-lcm": "bin/codex-lcm" diff --git a/plugins/codex-lcm/package.json b/plugins/codex-lcm/package.json index cec1bce..4508fde 100644 --- a/plugins/codex-lcm/package.json +++ b/plugins/codex-lcm/package.json @@ -1,6 +1,6 @@ { "name": "codex-lcm", - "version": "0.2.7", + "version": "0.2.8", "description": "Codex-native session-first lossless context memory plugin.", "license": "MIT", "author": "Team Volt", diff --git a/plugins/codex-lcm/src/cli.ts b/plugins/codex-lcm/src/cli.ts index cc00326..21d0c8d 100644 --- a/plugins/codex-lcm/src/cli.ts +++ b/plugins/codex-lcm/src/cli.ts @@ -10,7 +10,7 @@ import { createStorage } from "./storage.ts"; export async function main(argv: string[]): Promise { const [command, ...rest] = argv; if (command === "--version" || command === "-v") { - process.stdout.write("0.2.7\n"); + process.stdout.write("0.2.8\n"); return; } if (command === "--help" || command === "-h" || command === undefined) { diff --git a/plugins/codex-lcm/src/mcp.ts b/plugins/codex-lcm/src/mcp.ts index 9f9da45..3aaef2a 100644 --- a/plugins/codex-lcm/src/mcp.ts +++ b/plugins/codex-lcm/src/mcp.ts @@ -9,7 +9,7 @@ type JsonRpcRequest = { }; const SERVER_NAME = "codex-lcm"; -const SERVER_VERSION = "0.2.7"; +const SERVER_VERSION = "0.2.8"; const SUPPORTED_PROTOCOL_VERSION = "2025-11-25"; const HEADER_SEPARATOR = Buffer.from("\r\n\r\n", "utf8"); const MAX_MESSAGE_BYTES = DEFAULT_LIMITS.maxInputBytes;