Skip to content

Commit ece3cff

Browse files
CodeAbraclaude
andcommitted
Release 3.2.3
[user-impact-checked] Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 3a09135 commit ece3cff

14 files changed

Lines changed: 109 additions & 18 deletions

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [3.2.3] - 2026-09-13
9+
10+
### Changed
11+
- Contributor tooling, hooks, and inline docs no longer reference an external
12+
code-search tool; runtime behaviour is unchanged. A guard test keeps such
13+
references out of the tree.
14+
815
## [3.2.2] - 2026-09-13
916

1017
### Added

llms.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
> Local, MIT-licensed personal memory engine for MCP-compatible AI assistants. Captures every conversation turn verbatim (write-once), consolidates in the background, and injects a small relevant memory pack into the assistant at session start and per turn. No account, no API key, no telemetry.
44

5-
Package: `iai-pme` on PyPI. Repo: https://github.com/CodeAbra/iai-personal-memory-engine. Current release: 3.2.2.
5+
Package: `iai-pme` on PyPI. Repo: https://github.com/CodeAbra/iai-personal-memory-engine. Current release: 3.2.3.
66

77
## What it is
88

mcp-wrapper/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "iai-mcp-wrapper",
3-
"version": "3.2.2",
3+
"version": "3.2.3",
44
"description": "TypeScript MCP wrapper for IAI-MCP Python core",
55
"author": "Areg Noya",
66
"type": "module",

mcp-wrapper/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export function buildServer(
7878
const server = new Server(
7979
{
8080
name: "iai-mcp",
81-
version: "3.2.2",
81+
version: "3.2.3",
8282
},
8383
{
8484
capabilities: { tools: {} },

mcp-wrapper/src/lifecycle.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export const SOCKET_PROBE_DELAY_MS = 2_000;
2626

2727
export const HEARTBEAT_SCHEMA_VERSION = 1;
2828

29-
export const WRAPPER_VERSION = "3.2.2";
29+
export const WRAPPER_VERSION = "3.2.3";
3030

3131
const LAUNCHCTL_BIN = "/bin/launchctl";
3232

plugin/.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "iai-memory",
33
"displayName": "iai-pme — personal memory engine",
4-
"version": "3.2.2",
4+
"version": "3.2.3",
55
"description": "Persistent local memory for your assistant: every turn captured verbatim, relevant memory injected at session start and before each turn, and fourteen memory tools over MCP. Requires the iai-pme package (pip install iai-pme).",
66
"author": {
77
"name": "Areg Aramovich Noya",

plugin/hooks/iai-mcp-session-capture.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ if [ -z "$transcript_path" ] && [ -n "$session_id" ]; then
125125
projects_dir="$claude_root/projects"
126126
if [ -d "$projects_dir" ]; then
127127
# Look for the most recent file whose basename starts with session_id.
128-
# ls -t (mtime newest first). Avoid `find` per the project's no-grep hook.
128+
# Iterate project dirs directly (no `find`) and take the matching basename.
129129
for d in "$projects_dir"/*/; do
130130
candidate="${d}${session_id}.jsonl"
131131
if [ -f "$candidate" ]; then

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "iai-pme"
3-
version = "3.2.2"
3+
version = "3.2.3"
44
description = "MCP server giving Claude persistent autistic-style memory + learning"
55
authors = [{ name = "Areg Noya" }]
66
requires-python = ">=3.11,<3.13"

scripts/lint_agent_prompts.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@ def _violations_in(path: Path) -> list[str]:
5050
for match in _CALL_FORM.finditer(body_for_check):
5151
line_no = body_for_check.count("\n", 0, match.start()) + 1
5252
findings.append(
53-
f"{path}:{line_no}: inline `{match.group(1)}(...)` call form forbidden — "
54-
f"use ctx_search / ctx_execute_file instead"
53+
f"{path}:{line_no}: inline `{match.group(1)}(...)` call form forbidden in agent prompts"
5554
)
5655
return findings
5756

src/iai_mcp/_deploy/hooks/iai-mcp-session-capture.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ if [ -z "$transcript_path" ] && [ -n "$session_id" ]; then
125125
projects_dir="$claude_root/projects"
126126
if [ -d "$projects_dir" ]; then
127127
# Look for the most recent file whose basename starts with session_id.
128-
# ls -t (mtime newest first). Avoid `find` per the project's no-grep hook.
128+
# Iterate project dirs directly (no `find`) and take the matching basename.
129129
for d in "$projects_dir"/*/; do
130130
candidate="${d}${session_id}.jsonl"
131131
if [ -f "$candidate" ]; then

0 commit comments

Comments
 (0)