크라우니메신저 v3 셀프테스트 분리
개요
서버코어.한선이 import하는 모듈들의 셀프테스트 자동 실행 코드를 제거하여
crownyc run으로 서버 실행 시 listen까지 도달할 수 있도록 수정.
수정한 모듈 목록
| 파일 | 문제 | 조치 |
|---|---|---|
신원증명.한선 | 신원증명_셀프테스트() 자동 호출 (607줄) | 호출 제거, 반환 1 추가 |
통합신원.한선 | 통합신원_셀프테스트() 자동 호출 (1276줄) | 호출 제거, 반환 1/0 추가 |
지갑연동.한선 | 테스트 5개 + 지갑통계() 자동 실행 (785~792줄) | 지갑연동_자가검증() 함수로 감쌈 |
캐시노드.한선 | 셀프테스트 전체 자동 실행 (524~600줄) | 캐시노드_자가검증() 함수로 감쌈 |
사라지는메시지.한선 | 출력값(로드됨...) 자동 실행 (449줄) | 주석 처리 |
멘션.한선 | 출력값(로드됨...) 자동 실행 (424줄) | 주석 처리 |
새 파일
/Users/ef/CrownyOS/apps/메신저/v3/selftest_all.한선 (110줄)
- 9개 모듈 import
- 6개 모듈 자가검증 순차 실행 (신원증명/통합신원/지갑연동/캐시노드/사라지는메시지/멘션)
- "통과: N/6" 결과 출력
수동 검증 단계 (에이전트 Bash 권한 이슈로 직접 실행 필요)
bash# 1. 각 모듈 컴파일 확인
cd /Users/ef/CrownyOS/apps/메신저/v3
COMPILER=/Users/ef/CrownyOS/crownyc/hanseonc_high
for f in 신원증명.한선 통합신원.한선 지갑연동.한선 캐시노드.한선 사라지는메시지.한선 멘션.한선; do
$COMPILER $f > /dev/null 2>&1 && echo "OK: $f" || echo "FAIL: $f"
done
# 2. selftest_all 실행
$COMPILER selftest_all.한선 > /tmp/selftest.toau 2>/dev/null
perl -e 'alarm 60; exec @ARGV' /Users/ef/CrownyOS/crownyc/crownyc run /tmp/selftest.toau 2>&1 | tail -20
# 3. 서버코어 라이브 listen 확인
JS_PID=$(cat /tmp/crowny-messenger-v3.pid 2>/dev/null) && kill $JS_PID 2>/dev/null
sleep 1
$COMPILER 서버코어.한선 > /tmp/servercore.toau 2>/dev/null
perl -e 'alarm 8; exec @ARGV' /Users/ef/CrownyOS/crownyc/crownyc run /tmp/servercore.toau 2>&1 | head -20
sleep 1
# 4. JS 서버 복원
cd /Users/ef/CrownyOS/apps/메신저/v3/서버
nohup node ws-server-v3.js > /Users/ef/.crowny-messenger/v3/server.log 2>&1 &
echo $! > /tmp/crowny-messenger-v3.pid
관련 파일 경로
/Users/ef/CrownyOS/apps/메신저/v3/서버코어.한선— 메인 서버 (수정 없음)/Users/ef/CrownyOS/apps/메신저/v3/selftest_all.한선— 신규 통합 자가검증 진입점/Users/ef/CrownyOS/apps/메신저/v3/신원증명.한선— 수정됨/Users/ef/CrownyOS/apps/메신저/v3/통합신원.한선— 수정됨/Users/ef/CrownyOS/apps/메신저/v3/지갑연동.한선— 수정됨/Users/ef/CrownyOS/apps/메신저/v3/캐시노드.한선— 수정됨/Users/ef/CrownyOS/apps/메신저/v3/사라지는메시지.한선— 수정됨/Users/ef/CrownyOS/apps/메신저/v3/멘션.한선— 수정됨
잔여 이슈
- Bash 권한 문제: 에이전트 스레드 cwd가
서버/서브디렉토리여서 상위.claude/settings.json권한이 적용되지 않음. 위 수동 검증 단계를 터미널에서 직접 실행 필요. - 백업복원.한선: 서버코어가 직접 import하지 않아 이번 작업 대상 아님. 필요 시 별도 분리.
- 블록체인v3.한선: 서버코어 import 대상 아님 — 나중에 분리 가능.