Skip to content

fix(memory,P1): setup.sh가 secure_fs.py를 배포하지 않아 local-memory commit이 전 노드에서 실패 #952

Description

@jinon86

증상

전 노드(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)을 함께 배포하지 않아 복사본에서 항상 실패합니다.

폴백 체인도 모두 막힙니다.

  1. from telegram_bot.utils.secure_fs import ...telegram_bot 패키지가 sys.path에 없어 실패
  2. from ccc_secure_fs import ... — 선로드된 모듈 없어 실패
  3. 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)

  1. 의존 파일 동반 배포setup.sh에서 bridge/utils/secure_fs.py$CLAUDE_DIR/utils/secure_fs.py도 복사. 상대경로 구조를 보존하므로 코드 변경 불필요.
  2. 탐색 경로 보강local_memory_transaction.py의 폴백에 parents[1]/"ccc_secure_fs.py" 또는 설치 레이아웃 경로를 추가.
  3. 환경변수 주입CCC_SECURE_FS_PY 같은 명시 경로 지원.

1번이 가장 작고 기존 로딩 로직을 건드리지 않습니다.

검증 기준

수정 후 임의 노드에서 distill 1회 실행 시 distill.loglocal-memory commit failed가 남지 않아야 합니다.


조사 시점: 2026-08-05. distill 백로그 실사 중 발견했습니다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions