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.
This commit is contained in:
+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/milla-jovovich/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/milla-jovovich/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."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user