From e963165a95c4f1d8fb80923b61255fff9bbbb83a Mon Sep 17 00:00:00 2001 From: nathan nelson Date: Mon, 7 Sep 2026 16:37:32 -0600 Subject: [PATCH 1/2] v1.1.0: one archive for Claude Code and Codex Longhand now captures Codex Desktop / CLI threads into the same archive the Claude Code hooks write, and holds the second client to the same rules as the first: exact records, stable IDs, nothing stored twice, drift never silent. Version bump + sibling manifests + CHANGELOG heading; the feature itself landed in #84. Also re-pins fieldnote 0002 (project-inference-cwd-mode) to parser.py: #84 changed the file (Codex adapter dispatch, frame-link triage) but not build_session's cwd-mode attribution the note documents, so the prose still holds and only the pin was stale. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01LzrMzN4dfuJJKc4UZP6SFb --- .claude-plugin/plugin.json | 2 +- .fieldnotes/notes/0002-project-inference-cwd-mode.md | 4 ++-- CHANGELOG.md | 2 +- Dockerfile | 2 +- README.md | 2 +- pyproject.toml | 2 +- server.json | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index eb42505..47da8b4 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "longhand", - "version": "1.0.1", + "version": "1.1.0", "description": "Persistent local memory for Claude Code. Every tool call, every file edit, every thinking block from every session \u2014 stored verbatim on your machine. Semantic recall in ~126ms with zero API calls.", "author": { "name": "Nate Nelson", diff --git a/.fieldnotes/notes/0002-project-inference-cwd-mode.md b/.fieldnotes/notes/0002-project-inference-cwd-mode.md index 4dca78d..27a1866 100644 --- a/.fieldnotes/notes/0002-project-inference-cwd-mode.md +++ b/.fieldnotes/notes/0002-project-inference-cwd-mode.md @@ -5,8 +5,8 @@ references: - advisory: false lines: null path: longhand/parser.py - pinned_at: '2026-08-12T18:30:57.277614Z' - sha: 24868412a3d739fa85f504ed1d3611a3cb51cea2d9b53f568fe2ba804404b318 + pinned_at: '2026-09-07T22:37:31.948558Z' + sha: 38dc7615e81960be2721dfb35c0fc0cf4c0b75ee8209a348c656f83bb0fbe0ae symbol: null session_id: null superseded_by: '0006' diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d509f5..7801f46 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ commits and tag annotations of those releases. --- -## [Unreleased] +## [1.1.0] — 2026-09-07 Longhand now keeps one archive for Claude Code **and** Codex. This is the first release that captures a second client, and it holds that client to the diff --git a/Dockerfile b/Dockerfile index 6bd78c5..49426ae 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ FROM python:3.12-slim -RUN pip install --no-cache-dir longhand==1.0.1 +RUN pip install --no-cache-dir longhand==1.1.0 ENTRYPOINT ["longhand", "mcp-server"] diff --git a/README.md b/README.md index 2d83122..ff00e23 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ longhand analyze --all # fill in episodes + vectors whenever, safe to Exact-text search, timelines, file history, and commit lookup all work after `--skip-analysis`. Semantic `recall` needs the `analyze --all` pass to complete. Typical throughput on an M-class Mac is ~1–2 sessions/sec for full analysis. -> *Status: v1.0.1 — stable, daily-driver tested, security-audited (zero critical findings), on PyPI, available as a Claude Code plugin. Validated against 433 real Claude Code sessions across 37 inferred projects (measured 2026-08-12). 580 unit tests passing.* +> *Status: v1.1.0 — stable, daily-driver tested, security-audited (zero critical findings), on PyPI, available as a Claude Code plugin. Validated against 433 real Claude Code sessions across 37 inferred projects (measured 2026-08-12). 580 unit tests passing.* **Full docs:** [Longhand Wiki](https://github.com/Wynelson94/longhand/wiki) — getting started, CLI reference, MCP tools reference, architecture, and troubleshooting. diff --git a/pyproject.toml b/pyproject.toml index e839ad2..310b7a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "longhand" -version = "1.0.1" +version = "1.1.0" description = "Persistent local memory for Claude Code. Total recall from your session files — no API calls, no summaries, no AI deciding what matters." readme = "README.md" license = { text = "MIT" } diff --git a/server.json b/server.json index eb38cb0..ea36445 100644 --- a/server.json +++ b/server.json @@ -3,7 +3,7 @@ "name": "io.github.Wynelson94/longhand", "title": "Longhand", "description": "Local memory for Claude Code: 13 MCP tools for semantic recall, file replay, project timelines, and git history across your session JSONL \u2014 zero API calls, all local.", - "version": "1.0.1", + "version": "1.1.0", "repository": { "url": "https://github.com/Wynelson94/longhand", "source": "github" @@ -13,7 +13,7 @@ "registryType": "pypi", "registryBaseUrl": "https://pypi.org", "identifier": "longhand", - "version": "1.0.1", + "version": "1.1.0", "runtimeHint": "uvx", "transport": { "type": "stdio" From b8e541159fe0f13d418aa45527ce33355fad6b16 Mon Sep 17 00:00:00 2001 From: nathan nelson Date: Mon, 7 Sep 2026 16:38:05 -0600 Subject: [PATCH 2/2] chore: record fieldnote 0002 re-verification after #84 The claim (cwd-mode project attribution in build_session) was re-read against the post-#84 parser and still holds. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01LzrMzN4dfuJJKc4UZP6SFb --- .fieldnotes/notes/0002-project-inference-cwd-mode.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.fieldnotes/notes/0002-project-inference-cwd-mode.md b/.fieldnotes/notes/0002-project-inference-cwd-mode.md index 27a1866..b4f5706 100644 --- a/.fieldnotes/notes/0002-project-inference-cwd-mode.md +++ b/.fieldnotes/notes/0002-project-inference-cwd-mode.md @@ -25,6 +25,8 @@ validations: by: unknown - at: '2026-08-12T18:31:12.049473Z' by: unknown +- at: '2026-09-07T22:38:05.209162Z' + by: unknown written_at: '2026-04-26T05:28:36.808901Z' written_by: claude-opus-4-7 ---