증상
전 노드(12/12)에서 매 distill 실행마다 다음 에러가 발생합니다.
local-memory commit failed: [Errno 2] No such file or directory: '/root/.claude/utils/secure_fs.py'
곽가 기준 ~/.claude/state/distill.log에서 반복 확인되며, sogyo 등 다른 노드도 동일합니다.
근본 원인 — 복사 후 상대경로가 깨짐
setup.sh:373이 모듈을 복사합니다.
run cp "$SRC/bridge/memory/local_memory_transaction.py" "$CLAUDE_DIR/hooks/ccc_local_memory_transaction.py"
그런데 복사되는 local_memory_transaction.py 안에서 secure_fs를 자기 위치 기준 상대경로로 찾습니다.
# bridge/memory/local_memory_transaction.py:40
secure_fs_source = Path(__file__).resolve().parents[1] / "utils/secure_fs.py"
| 위치 |
parents[1]/utils/secure_fs.py |
결과 |
원본 bridge/memory/ |
bridge/utils/secure_fs.py |
✅ 존재 |
복사본 ~/.claude/hooks/ |
~/.claude/utils/secure_fs.py |
❌ 없음 |
의존 파일(bridge/utils/secure_fs.py)을 함께 배포하지 않아 복사본에서 항상 실패합니다.
폴백 체인도 모두 막힙니다.
from telegram_bot.utils.secure_fs import ... — telegram_bot 패키지가 sys.path에 없어 실패
from ccc_secure_fs import ... — 선로드된 모듈 없어 실패
parents[1]/utils/secure_fs.py — 위 표대로 경로 불일치
영향 범위
- 12개 노드 전부 (
~/.claude/utils/secure_fs.py 부재 확인)
- distill의 local-memory commit 단계만 실패합니다. wiki-candidates 생성과 Honcho push는 정상 동작하므로 증상이 로그에만 남고 겉으로 드러나지 않습니다.
재현
ls ~/.claude/utils/secure_fs.py # 없음
ls ~/.claude/hooks/ccc_local_memory_transaction.py # 있음 (setup.sh가 복사)
grep -c "local-memory commit failed" ~/.claude/state/distill.log
수정 방향 (택1)
- 의존 파일 동반 배포 —
setup.sh에서 bridge/utils/secure_fs.py → $CLAUDE_DIR/utils/secure_fs.py도 복사. 상대경로 구조를 보존하므로 코드 변경 불필요.
- 탐색 경로 보강 —
local_memory_transaction.py의 폴백에 parents[1]/"ccc_secure_fs.py" 또는 설치 레이아웃 경로를 추가.
- 환경변수 주입 —
CCC_SECURE_FS_PY 같은 명시 경로 지원.
1번이 가장 작고 기존 로딩 로직을 건드리지 않습니다.
검증 기준
수정 후 임의 노드에서 distill 1회 실행 시 distill.log에 local-memory commit failed가 남지 않아야 합니다.
조사 시점: 2026-08-05. distill 백로그 실사 중 발견했습니다.
증상
전 노드(12/12)에서 매 distill 실행마다 다음 에러가 발생합니다.
곽가 기준
~/.claude/state/distill.log에서 반복 확인되며, sogyo 등 다른 노드도 동일합니다.근본 원인 — 복사 후 상대경로가 깨짐
setup.sh:373이 모듈을 복사합니다.그런데 복사되는
local_memory_transaction.py안에서secure_fs를 자기 위치 기준 상대경로로 찾습니다.parents[1]/utils/secure_fs.pybridge/memory/bridge/utils/secure_fs.py~/.claude/hooks/~/.claude/utils/secure_fs.py의존 파일(
bridge/utils/secure_fs.py)을 함께 배포하지 않아 복사본에서 항상 실패합니다.폴백 체인도 모두 막힙니다.
from telegram_bot.utils.secure_fs import ...—telegram_bot패키지가sys.path에 없어 실패from ccc_secure_fs import ...— 선로드된 모듈 없어 실패parents[1]/utils/secure_fs.py— 위 표대로 경로 불일치영향 범위
~/.claude/utils/secure_fs.py부재 확인)재현
수정 방향 (택1)
setup.sh에서bridge/utils/secure_fs.py→$CLAUDE_DIR/utils/secure_fs.py도 복사. 상대경로 구조를 보존하므로 코드 변경 불필요.local_memory_transaction.py의 폴백에parents[1]/"ccc_secure_fs.py"또는 설치 레이아웃 경로를 추가.CCC_SECURE_FS_PY같은 명시 경로 지원.1번이 가장 작고 기존 로딩 로직을 건드리지 않습니다.
검증 기준
수정 후 임의 노드에서 distill 1회 실행 시
distill.log에local-memory commit failed가 남지 않아야 합니다.조사 시점: 2026-08-05. distill 백로그 실사 중 발견했습니다.