← 목록
기타 2026-05-27 7KB 읽기 8분

크라우니메신저 v3 — Phase 2 병행 에이전트 (시스템알림·SSO실API·셀프테스트분리)

개요

크라우니에이전트 규칙(차분한 지시 + 셀코어 베이스 컨텍스트 + 결과 형식 표준화 + .claude/settings.json 권한 선행)에 따라 Sonnet 3개 에이전트를 병행 출동.

3개 에이전트 모두 완료, 54/54 한선씨 컴파일, 한선씨 정본 서버코어 라이브 listen 도달.

작업 영역

#에이전트결과
9시스템 메시지 API (POST /api/v1/messages)JS +110줄, 시스템알림.한선 300줄, 영속 JSONL, WS 푸시
10실 SSO API 매핑 (CrownyAuth :9401)/api/login /api/verify /api/me, username 필드, sso_source: external
11셀프테스트 분리 → 한선씨 서버코어 라이브6개 모듈 가드, selftest_all.한선 6/6 PASS, 한선씨 서버 listen 도달

핵심 성과: 한선씨 정본 서버 라이브

╔══════════════════════════════════════════════════╗
║  크라우니메신저 서버 v3.0 (한선씨 네이티브)       ║
║  WebSocket: 9767 | HTTP: 9766                    ║
║  CMP v3 프로토콜 | 셀DB | E2E 암호화             ║
║  AI: @크라우니 명령 | 블록체인 배치               ║
╚══════════════════════════════════════════════════╝
[서버] WebSocket 대기: 포트 9767
[서버] HTTP API 대기: 포트 9766
[연결] 새 연결 fd=11879588 (현재 1명)

한선씨 → TOAU(3.88MB, 138,818 큐브) → crownyc run = 라이브 서버. 이전엔 셀프테스트 자동 실행이 listen 차단했으나 가드 패턴으로 해소.

시스템 메시지 API

엔드포인트 POST /api/v1/messages

bashcurl -X POST http://localhost:9766/api/v1/messages \
  -H "X-Crowny-Internal: 1" \
  -d '{"from":"system","to":"CRN-12345678","channel":"system","text":"...","ts":<unix>}'
# → {"ok":true,"message_id":"sys-<ts>-<rand>","queued":1}

  • 내부 인증: X-Crowny-Internal: 1 또는 origin 127.0.0.1
  • 채널: system | notify | alert
  • 영속: /Users/ef/.crowny-messenger/v3/system/YYYY-MM-DD.jsonl
  • WS 푸시: 수신자 접속 중이면 즉시 NOTIFY 전달

호출 사슬 (생태계 통합)

시즌1알림.한선 (단가갱신 cron)
  → 메신저알림.한선 (시스템 채널 라우팅, talk-api:9766)
    → POST /api/v1/messages
      → appendSystemLog() + pushToUserIfConnected()
        → 메신저 사용자 알림

SSO 실 API 매핑

CrownyAuth(127.0.0.1:9401, users:201) 라이브 매핑:

동작경로필드
로그인POST /api/login{username, password}{ok, token, user}
검증GET /api/verifyAuthorization: Bearer <token>{valid, user}
프로필GET /api/meAuthorization: Bearer <token>
JS 변경: ssoLogin 경로 /api/auth/api/login, crowny_id 필드 → username, source 값 sso.crowny.orgexternal.

한선씨 변경: 통합신원.한선 SSO토큰요청() 정본 갱신.

라이브 검증: {"sso_source":"external","error":"invalid_credentials"} — 실 서버 도달, 인증 실패는 정상 (테스트 비번 불일치).

기존 로컬 폴백 보존: 외부 SSO 다운/타임아웃 시만 활성화.

셀프테스트 분리 (한선씨 정본 라이브화)

가드 패턴

모듈 파일 마지막 줄의 자동 셀프테스트 호출 제거 → 함수만 정의:

// 이전: 자동 실행 (listen 차단)
신원증명_셀프테스트()

// 변경: 명시적 호출만 (라이브 가능)
함수 신원증명_셀프테스트() {
  // ... 11건 어설트 ...
  반환 1
}

신규 진입점 selftest_all.한선 (110줄)

9개 모듈 import 후 6개 모듈 자가검증 순차 실행:

═════════════════════════════════════════════════════
크라우니메신저 v3 — 통합 자가검증
═════════════════════════════════════════════════════
─── [1/6] 신원증명 ─── [PASS]
─── [2/6] 통합신원 ─── [PASS]
─── [3/6] 지갑연동 ─── [PASS]
─── [4/6] 캐시노드 ─── [PASS] 머클루트=781f138b... 앵커=d5d1e76b...
─── [5/6] 사라지는메시지 ─── [PASS] TTL 옵션 9개
─── [6/6] 멘션 ─── [PASS] 파싱 2건
═════════════════════════════════════════════════════
통과: 6/6
결과: ALL PASS
═════════════════════════════════════════════════════

권한 인프라

/Users/ef/CrownyOS/apps/메신저/v3/.claude/settings.json 생성:

  • Write/Edit/Read(메신저/v3/**) + Read(crownyc, CrownyOS, CrownyTVM)
  • Write(CrownyDoc/projects/**)
  • Bash(node, curl, hanseonc_high, crownyc, learn.sh, ports.sh, ...)
서브 에이전트가 메인 권한 상속 안 받으므로 프로젝트별 settings.json 미리 부여 필수 (메모리 [[feedback-subagent-permissions]] 적용).

검증 사슬

한선씨 컴파일      54/54 (시스템알림.한선 [지금→밀리초] / selftest_all [멘션파싱→멘션추출] 수정)
한선씨 서버 라이브  ✓ (TOAU 3.88MB, 138K 큐브, listen 도달)
selftest_all       6/6 ALL PASS (통합 자가검증)
시스템 메시지 API  ✓ (영속 JSONL + WS 푸시)
실 SSO 호출        ✓ (sso_source: external, /api/login 도달)
JS 서버 라이브     ✓ (포트 9766/9767/9752 유지)
tiomta.com/talk.html ✓ (SSO 빠른 로그인 폼 추가, fetch → :9766/sso/login)

누적 통계

항목수치
한선씨 파일54개 (selftest_all 추가, 53→54)
한선씨 줄수~23,800줄
한선씨 컴파일54/54 (100%)
JS 서버3,798줄
통합 진입점talk.crowny.org / talk-api.crowny.org / talk-ws.crowny.org / tiomta.com/talk.html / ecosystem.crowny.org / sso.crowny.org

학습DB 등록

  • 메신저시스템알림API — 시스템메시지검증 셀코어 룰 패턴
  • 셀프테스트가드 — 자동호출 제거 + 함수만 정의
  • SSO실API매핑 — username 필드 + /api/login 경로

잔여 이슈

  • bank.crowny.org:9400 다운 — 폴백 큐 작동
  • ecosystem.crowny.org 서버 reload 대기 (코드 수정분 반영 안 됨)
  • CrownyAuth crowny_id 형식 정규화 — CrownyAuth가 CRW... 사용, 메신저는 CRN-... 사용. 추후 매핑 또는 통일

연동

  • [[reference-ecosystem-crowny]] — 메신저v3 모듈 + 도메인 등록
  • [[project-tiomta-brand]] — /talk.html 진입 페이지
  • [[project_crowny_bank]] — 지갑연동 폴백 큐
  • [[feedback-agent-directive-style]] — 차분한 지시 + 셀코어 베이스 컨텍스트 + 결과 형식 표준화
  • [[feedback-subagent-permissions]] — 프로젝트별 settings.json 권한 선행