chore: sync main hotfixes into release/3.2.0 (#763)
* fix: disambiguate hook block reasons to name MemPalace explicitly (#666) Replace "your memory system" with explicit MemPalace references and tool names (mempalace_diary_write, mempalace_add_drawer, mempalace_kg_add) in stop and precompact hook block reasons. This prevents Claude Code from misinterpreting the hook as a native auto-memory save instruction. Updated in both Python (hooks_cli.py) and standalone shell scripts. Also fix CONTRIBUTING.md Getting Started to show the fork-first workflow, matching the PR Guidelines section. * fix: remove chromadb <0.7 upper bound — blocks 1.x installs The current constraint `chromadb>=0.5.0,<0.7` forces pip to install chromadb 0.6.x, but palaces created with chromadb 1.x (which is what the mempalace dev environment actually uses — 1.5.7 per uv.lock) have an incompatible SQLite schema. Specifically, chromadb 0.6.x fails with `KeyError: '_type'` when opening a collection written by 1.x. This means a fresh `pip install mempalace` gives users a chromadb version that cannot read palaces created in the maintainer's own environment. The fix removes the upper bound so pip can resolve to the current stable chromadb release. Reproduction: python3 -m venv .venv && source .venv/bin/activate pip install mempalace # installs chromadb 0.6.3 # Try opening a palace created with chromadb 1.x: # -> _get_collection() returns None, tool_status() returns "No palace found" pip install chromadb==1.5.7 # force upgrade # -> tool_status() returns real data (26k drawers in our case) --------- Co-authored-by: z3tz3r0 <kittipan.wang@gmail.com> Co-authored-by: AlyciaBHZ <50111876+AlyciaBHZ@users.noreply.github.com> Co-authored-by: Ben Sigman <1872138+bensig@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
81dc977bbf
commit
8b26bf2ac3
+4
-1
@@ -5,8 +5,11 @@ Thanks for wanting to help. MemPalace is open source and we welcome contribution
|
|||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/MemPalace/mempalace.git
|
# Fork the repo on GitHub first, then clone your fork
|
||||||
|
git clone https://github.com/<your-username>/mempalace.git
|
||||||
cd mempalace
|
cd mempalace
|
||||||
|
git remote add upstream https://github.com/MemPalace/mempalace.git
|
||||||
|
|
||||||
pip install -e ".[dev]" # installs with dev dependencies (pytest, build, twine)
|
pip install -e ".[dev]" # installs with dev dependencies (pytest, build, twine)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -72,6 +72,6 @@ fi
|
|||||||
cat << 'HOOKJSON'
|
cat << 'HOOKJSON'
|
||||||
{
|
{
|
||||||
"decision": "block",
|
"decision": "block",
|
||||||
"reason": "COMPACTION IMMINENT. Save ALL topics, decisions, quotes, code, and important context from this session to your memory system. Be thorough — after compaction, detailed context will be lost. Organize into appropriate categories. Use verbatim quotes where possible. Save everything, then allow compaction to proceed."
|
"reason": "COMPACTION IMMINENT (MemPalace). Save ALL session content before context is lost:\n1. mempalace_diary_write — thorough AAAK-compressed session summary\n2. mempalace_add_drawer — ALL verbatim quotes, decisions, code, context\n3. mempalace_kg_add — entity relationships (optional)\nBe thorough — after compaction, detailed context will be lost. Do NOT write to Claude Code's native auto-memory (.md files). Save everything to MemPalace, then allow compaction to proceed."
|
||||||
}
|
}
|
||||||
HOOKJSON
|
HOOKJSON
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ if [ "$SINCE_LAST" -ge "$SAVE_INTERVAL" ] && [ "$EXCHANGE_COUNT" -gt 0 ]; then
|
|||||||
cat << 'HOOKJSON'
|
cat << 'HOOKJSON'
|
||||||
{
|
{
|
||||||
"decision": "block",
|
"decision": "block",
|
||||||
"reason": "AUTO-SAVE checkpoint. Save key topics, decisions, quotes, and code from this session to your memory system. Organize into appropriate categories. Use verbatim quotes where possible. Continue conversation after saving."
|
"reason": "AUTO-SAVE checkpoint (MemPalace). Save this session's key content:\n1. mempalace_diary_write — AAAK-compressed session summary\n2. mempalace_add_drawer — verbatim quotes, decisions, code snippets\n3. mempalace_kg_add — entity relationships (optional)\nDo NOT write to Claude Code's native auto-memory (.md files). Continue conversation after saving."
|
||||||
}
|
}
|
||||||
HOOKJSON
|
HOOKJSON
|
||||||
else
|
else
|
||||||
|
|||||||
+13
-9
@@ -18,18 +18,22 @@ SAVE_INTERVAL = 15
|
|||||||
STATE_DIR = Path.home() / ".mempalace" / "hook_state"
|
STATE_DIR = Path.home() / ".mempalace" / "hook_state"
|
||||||
|
|
||||||
STOP_BLOCK_REASON = (
|
STOP_BLOCK_REASON = (
|
||||||
"AUTO-SAVE checkpoint. Save key topics, decisions, quotes, and code "
|
"AUTO-SAVE checkpoint (MemPalace). Save this session's key content:\n"
|
||||||
"from this session to your memory system. Organize into appropriate "
|
"1. mempalace_diary_write — AAAK-compressed session summary\n"
|
||||||
"categories. Use verbatim quotes where possible. Continue conversation "
|
"2. mempalace_add_drawer — verbatim quotes, decisions, code snippets\n"
|
||||||
"after saving."
|
"3. mempalace_kg_add — entity relationships (optional)\n"
|
||||||
|
"Do NOT write to Claude Code's native auto-memory (.md files). "
|
||||||
|
"Continue conversation after saving."
|
||||||
)
|
)
|
||||||
|
|
||||||
PRECOMPACT_BLOCK_REASON = (
|
PRECOMPACT_BLOCK_REASON = (
|
||||||
"COMPACTION IMMINENT. Save ALL topics, decisions, quotes, code, and "
|
"COMPACTION IMMINENT (MemPalace). Save ALL session content before context is lost:\n"
|
||||||
"important context from this session to your memory system. Be thorough "
|
"1. mempalace_diary_write — thorough AAAK-compressed session summary\n"
|
||||||
"\u2014 after compaction, detailed context will be lost. Organize into "
|
"2. mempalace_add_drawer — ALL verbatim quotes, decisions, code, context\n"
|
||||||
"appropriate categories. Use verbatim quotes where possible. Save "
|
"3. mempalace_kg_add — entity relationships (optional)\n"
|
||||||
"everything, then allow compaction to proceed."
|
"Be thorough \u2014 after compaction, detailed context will be lost. "
|
||||||
|
"Do NOT write to Claude Code's native auto-memory (.md files). "
|
||||||
|
"Save everything to MemPalace, then allow compaction to proceed."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ classifiers = [
|
|||||||
"Topic :: Utilities",
|
"Topic :: Utilities",
|
||||||
]
|
]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chromadb>=0.5.0,<0.7",
|
"chromadb>=0.5.0",
|
||||||
"pyyaml>=6.0,<7",
|
"pyyaml>=6.0,<7",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user