refactor(memory): replace memory dir with symlink to clawd/memory
This commit is contained in:
31
tools/compare_memory.py
Normal file
31
tools/compare_memory.py
Normal file
@@ -0,0 +1,31 @@
|
||||
"""Compare echo-core/memory vs clawd/memory - find files that need merging."""
|
||||
import os
|
||||
|
||||
ECHO = "/home/moltbot/echo-core/memory"
|
||||
CLAWD = "/home/moltbot/clawd/memory"
|
||||
|
||||
def list_files(base):
|
||||
result = set()
|
||||
for root, dirs, files in os.walk(base):
|
||||
for f in files:
|
||||
full = os.path.join(root, f)
|
||||
rel = os.path.relpath(full, base)
|
||||
result.add(rel)
|
||||
return result
|
||||
|
||||
echo = list_files(ECHO)
|
||||
clawd = list_files(CLAWD)
|
||||
|
||||
only_echo = sorted(echo - clawd)
|
||||
only_clawd = sorted(clawd - echo)
|
||||
shared = echo & clawd
|
||||
|
||||
print(f"ONLY in echo-core ({len(only_echo)} files):")
|
||||
for f in only_echo:
|
||||
print(f" {f}")
|
||||
|
||||
print(f"\nONLY in clawd ({len(only_clawd)} files):")
|
||||
for f in only_clawd:
|
||||
print(f" {f}")
|
||||
|
||||
print(f"\nSHARED: {len(shared)} files")
|
||||
59
tools/setup_shared_memory.sh
Normal file
59
tools/setup_shared_memory.sh
Normal file
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
# Setup shared memory: clawd/memory becomes single source of truth
|
||||
# echo-core/memory becomes a symlink to clawd/memory
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
ECHO_MEMORY="/home/moltbot/echo-core/memory"
|
||||
CLAWD_MEMORY="/home/moltbot/clawd/memory"
|
||||
BACKUP="/home/moltbot/echo-core/memory.bak"
|
||||
|
||||
echo "=== Shared Memory Setup ==="
|
||||
echo ""
|
||||
|
||||
# 1. Safety checks
|
||||
if [ -L "$ECHO_MEMORY" ]; then
|
||||
echo "ERROR: echo-core/memory is already a symlink!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d "$CLAWD_MEMORY" ]; then
|
||||
echo "ERROR: clawd/memory does not exist!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 2. Move echo.sqlite to clawd (only file missing there)
|
||||
if [ -f "$ECHO_MEMORY/echo.sqlite" ] && [ ! -f "$CLAWD_MEMORY/echo.sqlite" ]; then
|
||||
echo "Moving echo.sqlite to clawd/memory..."
|
||||
mv "$ECHO_MEMORY/echo.sqlite" "$CLAWD_MEMORY/echo.sqlite"
|
||||
echo " Done."
|
||||
else
|
||||
echo "echo.sqlite already in clawd or not in echo — skipping."
|
||||
fi
|
||||
|
||||
# 3. Backup echo-core/memory
|
||||
echo "Creating backup at $BACKUP..."
|
||||
if [ -d "$BACKUP" ]; then
|
||||
echo " Backup already exists, removing old one..."
|
||||
rm -rf "$BACKUP"
|
||||
fi
|
||||
mv "$ECHO_MEMORY" "$BACKUP"
|
||||
echo " Done."
|
||||
|
||||
# 4. Create symlink
|
||||
echo "Creating symlink: $ECHO_MEMORY -> $CLAWD_MEMORY"
|
||||
ln -s "$CLAWD_MEMORY" "$ECHO_MEMORY"
|
||||
echo " Done."
|
||||
|
||||
# 5. Verify
|
||||
echo ""
|
||||
echo "=== Verification ==="
|
||||
ls -la "$ECHO_MEMORY"
|
||||
echo ""
|
||||
echo "Test file access:"
|
||||
ls "$ECHO_MEMORY/kb/index.json" 2>/dev/null && echo " kb/index.json: OK" || echo " kb/index.json: FAIL"
|
||||
ls "$ECHO_MEMORY/echo.sqlite" 2>/dev/null && echo " echo.sqlite: OK" || echo " echo.sqlite: FAIL"
|
||||
|
||||
echo ""
|
||||
echo "SUCCESS! echo-core/memory now points to clawd/memory."
|
||||
echo "Backup saved at: $BACKUP"
|
||||
Reference in New Issue
Block a user