fix: repair command, split args, Claude export, room keywords

- Add `mempalace repair` command to rebuild vector index from SQLite
  when HNSW files are corrupted after crash/interrupt (fixes #74, #72, #96)
- Fix split command passing dir as positional instead of --source
  flag to split_mega_files (fixes #63)
- Handle Claude privacy export format (array of conversation objects
  with chat_messages inside each) in normalize.py (fixes #63)
- Persist room keywords in mempalace.yaml so mine can match files
  in docs/ to room "documentation" (fixes #108)
This commit is contained in:
bensig
2026-04-07 12:02:34 -07:00
parent d1afecc478
commit 5e8a039e7c
3 changed files with 110 additions and 3 deletions
+8 -1
View File
@@ -255,7 +255,14 @@ def get_user_approval(rooms: list) -> list:
def save_config(project_dir: str, project_name: str, rooms: list):
config = {
"wing": project_name,
"rooms": [{"name": r["name"], "description": r["description"]} for r in rooms],
"rooms": [
{
"name": r["name"],
"description": r["description"],
"keywords": r.get("keywords", [r["name"]]),
}
for r in rooms
],
}
config_path = Path(project_dir).expanduser().resolve() / "mempalace.yaml"
with open(config_path, "w") as f: