diff --git a/README.md b/README.md index ec133e6..8fdae2e 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,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.6 +codex plugin marketplace add Team-Volt/codex-lcm --ref v0.2.7 codex plugin add codex-lcm@codex-lcm ``` @@ -119,20 +119,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.6`: +Upgrade an existing GitHub marketplace install to `v0.2.7`: ```sh codex plugin marketplace remove codex-lcm -codex plugin marketplace add Team-Volt/codex-lcm --ref v0.2.6 +codex plugin marketplace add Team-Volt/codex-lcm --ref v0.2.7 codex plugin add codex-lcm@codex-lcm ``` -Upgrade a local checkout install to `v0.2.6` by checking out the release tag, +Upgrade a local checkout install to `v0.2.7` 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.6 +git -C /path/to/codex-lcm checkout v0.2.7 codex plugin add codex-lcm@codex-lcm ``` @@ -161,7 +161,7 @@ codex plugin remove codex-lcm@codex-lcm ## Release Status -Current release: `v0.2.6`. +Current release: `v0.2.7`. Codex LCM is a local-first Codex memory plugin with native plugin installation, hook ingestion, sanitized raw event storage, SQLite FTS, DAG-backed retrieval, @@ -171,18 +171,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.6 notes +### v0.2.7 notes -This release adds cross-project session observability and avoids unnecessary -raw-log scans during normal hook ingestion. +This release cuts derived SQLite storage and keeps multi-session retrieval +responses bounded without changing the raw JSONL source of truth. -- Adds session listing and token usage to the CLI and MCP server, including - parent/child lineage, model metadata, reasoning metadata, and cumulative token - usage backfilled from existing Codex transcripts. -- Keeps a bounded event and redacted overflow file for oversized hook inputs up - to the 8 MiB safety ceiling. -- Records synchronized raw-log state in SQLite so unchanged logs skip full - rescans while edited or truncated logs still use the reconciliation path. +- 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. Use the [Installation](#installation) section for install and upgrade commands. diff --git a/docs/releases/v0.2.7.md b/docs/releases/v0.2.7.md new file mode 100644 index 0000000..364307f --- /dev/null +++ b/docs/releases/v0.2.7.md @@ -0,0 +1,30 @@ +# Codex LCM v0.2.7 + +`v0.2.7` cuts derived SQLite storage and keeps multi-session retrieval responses +bounded without changing the raw JSONL source of truth. + +## Changes + +- ([#45](https://github.com/Team-Volt/codex-lcm/pull/45)) Shorten post-compaction stop feedback to one sentence while still requiring `lcm_pack_context` before completion continues. +- ([#46](https://github.com/Team-Volt/codex-lcm/pull/46)) Add dry-run-first index cleanup, remove duplicated low-signal event text from derived search tables, return compact session summaries in one call, and reduce repeated MCP response data. On the database copy used for validation, cleanup reduced SQLite from about 2.56 GB to 1.13 GB while preserving the raw JSONL log. + +## Upgrade to v0.2.7 + +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.7 +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.7 +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 b49f364..708f6ec 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.6", + "version": "0.2.7", "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 5fb702a..6689466 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.6", + "version": "0.2.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-lcm", - "version": "0.2.6", + "version": "0.2.7", "license": "MIT", "bin": { "codex-lcm": "bin/codex-lcm" diff --git a/plugins/codex-lcm/package.json b/plugins/codex-lcm/package.json index c71de73..354473a 100644 --- a/plugins/codex-lcm/package.json +++ b/plugins/codex-lcm/package.json @@ -1,6 +1,6 @@ { "name": "codex-lcm", - "version": "0.2.6", + "version": "0.2.7", "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 73b2cef..11902f7 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.6\n"); + process.stdout.write("0.2.7\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 3f3f5ba..7710bd0 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.6"; +const SERVER_VERSION = "0.2.7"; const SUPPORTED_PROTOCOL_VERSION = "2025-11-25"; const HEADER_SEPARATOR = Buffer.from("\r\n\r\n", "utf8"); const MAX_MESSAGE_BYTES = DEFAULT_LIMITS.maxInputBytes;