Docs/auto save clarity and tools - #1390
Closed
milla-jovovich wants to merge 14 commits into
Closed
Conversation
release: v3.3.3 — sync develop → main for tag cut
Bumps every version source from 3.3.3 to 3.3.4: - pyproject.toml - mempalace/version.py (canonical) - .claude-plugin/plugin.json - .claude-plugin/marketplace.json - .codex-plugin/plugin.json - README.md badge Dates the CHANGELOG section and adds entries for the bug fixes that landed this cycle (#1135, #1191, #1230, #1231) plus expands the #1194 entry to credit the lookup-side recovery path from #1197. Pre-tag verification: - 1441 passed, 1 skipped (full suite minus benchmarks, all platforms) - ruff check + format clean - 44/44 in test_version_consistency + test_readme_claims (6-file sync) - JPH invariant: pyproject.toml + .claude-plugin/plugin.json both reference mempalace-mcp - Wheel build + fresh-venv install: mempalace --version reports 3.3.4, mempalace-mcp --help works (catches the v3.3.2-class regression)
Agent-Logs-Url: https://github.com/MemPalace/mempalace/sessions/01a1089d-da46-4dc8-85e8-d7e50763dd58 Co-authored-by: igorls <4753812+igorls@users.noreply.github.com>
The fix landed this cycle and is documented under 3.3.4. The 3.3.0 Bug Fixes block is shipped history and shouldn't grow new entries retroactively.
The PR documenting the fix is #1232; referencing it from inside its own changelog entry is circular.
Three fixes landed on develop after the initial release-prep cut and were brought in via the develop merge. Document them in the 3.3.4 Bug Fixes section so the release notes reflect what users will actually receive. - #1287 - HNSW divergence floor scales with hnsw:sync_threshold (resolves a silent-fallback regression introduced by the interaction between #1191 and #1227 in this release) - #1262 - ChromaBackend get_or_create_collection split, fixing the stop-hook SIGSEGV class on legacy palaces with mismatched stored metadata (#1089) - #1288 / #1254 - repair --mode max-seq-id heuristic now decodes BLOB-typed embeddings.seq_id, restoring the un-poison path added in #1135 for palaces where chromadb 1.5.x writes seq_ids natively
The same try/except split that #1262 applied at the backend layer (ChromaBackend.get_collection) was needed at the parallel call site in mcp_server._get_collection(create=True), which carries the same metadata payload directly to chromadb's Python client. Both reopen paths in mempalace now bypass get_or_create_collection on existing collections, closing the SIGSEGV class for both tool_add_drawer and tool_diary_write (the Stop hook's path).
chore(release): v3.3.4
Adds a brief [!IMPORTANT] callout at the top of the README pointing users to the urgent announcement at #1388. Claude Code auto-deletes local JSONL transcripts after 30 days; users without the auto-save hooks wired are losing transcript data off the rolling window. Ships 4 small standalone tools at tools/: - backup_claude_jsonls.sh — rsync ~/.claude/projects/ to a safe folder - render_jsonl.py — convert JSONL transcripts to readable text - find_orphan_claude_jsonls.sh — scan backup locations for orphan Claude Code transcripts (multi-line shape detection + topic preview) - save.md — Claude Code slash command for manual /save into MemPalace Tools verified by independent agent against v3.3.4 source. Read-only on user data. POSIX bash + Python stdlib only.
Collaborator
Author
|
Closing in favor of #1391 — same content, properly based on |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a brief
[!IMPORTANT]callout at the top of the README pointing users to the urgentannouncement at #1388. Claude Code auto-deletes local JSONL transcripts after 30 days; users without
the auto-save hooks wired are losing transcript data off the rolling window.
Ships 4 small standalone tools at
tools/so users can act today without waiting for a release.What's in this PR
README.md — 4 lines added. One
[!IMPORTANT]callout right after the existing scam alert,linking to discussion #1388. Nothing else in the README is touched.
tools/backup_claude_jsonls.sh (39 lines) — rsync
~/.claude/projects/to~/Documents/Claude_JSONL_Backup/. POSIX bash, set -eu, never writes to~/.claude/.tools/render_jsonl.py (71 lines) — convert any JSONL transcript to readable plain text.
Stdlib-only Python 3.9+. Strips tool calls, thinking, system messages.
tools/find_orphan_claude_jsonls.sh (98 lines) — scan iCloud, Dropbox, Google Drive, OneDrive,
Documents, Desktop, Volumes for orphan Claude Code transcripts. Multi-line shape detection (robust
strips "ok so", "oh", "well", "hey", etc.).
tools/save.md — Claude Code slash command for manual
/saveinto MemPalace. Drops into~/.claude/commands/save.mdon the user's machine.Verification
All 4 tools were TDD-verified by an independent agent against the v3.3.4 source:
source)
malformed-line handling, empty input)
iterative leading-filler strip, truncation, case-insensitive, bash 3.2 parse)
against v3.3.4 CLI)
The 30-day retention claim is verified verbatim against the official Anthropic docs at
https://docs.claude.com/en/docs/claude-code/data-usage.
What this does NOT do
mempalace/package)Why now
We launched on April 6 — today is May 6, exactly 30 days. Launch-week JSONLs are at the cliff right
now. Every 24-hour delay = another day of users' transcript data lost off the back end of the
rolling window. The discussion at #1388 covers the full announcement; this PR provides the README
pointer so visitors see it immediately.
Closes/relates to: #1388