Skip to content

Wynelson94/longhand

v0.11.1 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

Published 15d MCP Data & Storage
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai-memory anthropic chromadb claude-code forensic local-first
+6 more
lossless mcp mcp-server python recall sqlite

Affected surfaces

auth

ReleasePort's take

Light signal
editorial:auto 12d

Project misattribution of sessions has been fixed and rollup counters now report accurate values.

Why it matters: Corrects session attribution and eliminates double‑counting in project statistics; upgrade to v0.11.1 resolves these bugs immediately.

Summary

AI summary

Fixed project misattribution of sessions and double‑counted rollup counters.

Changes in this release

Bugfix Medium

Project misattribution: sessions no longer drift to the wrong project.

Project misattribution: sessions no longer drift to the wrong project.

Source: llm_adapter@2026-07-15

Confidence: low

Bugfix Medium

`projects.session_count` and `projects.total_edits` no longer double-count rollup values.

`projects.session_count` and `projects.total_edits` no longer double-count rollup values.

Source: llm_adapter@2026-07-15

Confidence: low

Refactor Low

Migration v6 backfills existing databases, recomputing project statistics on first open.

Migration v6 backfills existing databases, recomputing project statistics on first open.

Source: llm_adapter@2026-07-15

Confidence: high

Full changelog

Bugfix release: per-project rollup counters were inflated, and sessions could be
filed under the wrong project. No schema-breaking changes; a one-time migration
repairs existing databases automatically on first open.

Fixed

  • Project misattribution: sessions no longer drift to the wrong project.
    session.cwd (set by the Stop-hook live tail via MAX(cwd), a meaningless
    lexicographic pick) and project_id (set only by the full analysis pass) were
    written by independent paths and could desync — so work launched from $HOME
    ended up filed under the home catch-all project, invisible to per-project
    recall. On a real 265-session corpus, 35 sessions (13%) were affected. Now
    project attribution and cwd are always derived together from the same events
    (attribute_session_project()), and the live tail derives cwd the same way
    build_session does instead of MAX(cwd). New longhand reattribute command
    re-derives every session's project from the events table (not the
    transcript, which may have rotated away) to repair existing databases.
  • projects.session_count and projects.total_edits no longer double-count.
    upsert_project() incremented both columns on every (re-)ingest of a session
    — SessionEnd, the live-tail Stop hook's analysis path, and reconcile
    re-ingests — so they counted ingest events, not distinct sessions. On a real
    corpus the home directory showed 2,068 "sessions" against 264 real ones (and
    53,952 edits against ~7,200 actual). The columns are now derived rollups,
    recomputed authoritatively from the sessions table
    (recompute_project_stats()) after each session is attached. Affected
    longhand projects, the list_projects MCP tool, and recall_project_status;
    raw session/event data, search, and recall were never affected.
  • Migration v6 backfills existing databases, recomputing both columns for all
    projects from the sessions table on first open. Idempotent and non-destructive.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Wynelson94/longhand

Get notified when new releases ship.

Sign up free

About Wynelson94/longhand

Persistent local memory for Claude Code. Indexes every session JSONL verbatim into SQLite + ChromaDB for semantic recall (~126ms)

All releases →

Related context

Earlier breaking changes

  • v0.13.0 Deprecates several CLI commands; they will be removed at v1.0.

Beta — feedback welcome: [email protected]