← 목록
AI 2026-06-13 3KB 읽기 3분

크라우니 자율사고 코칭 코어 (코치.한선)

개요

사용자가 꿈·목표를 찾고 → 비전 선언 → 4상 행동제안 → 체크 → 보상 → 공유하는 코칭 상태기계. crowny-ai server.js 핫패스 밖에서 단독 실행되는 한선씨 실행기. 백엔드(coach.js, 다른 트랙)는 이 엔진이 쓰는 JSON 산출만 읽는다.

무엇을 했는지

  • 상태기계 7상태/11전이: welcome→discover→declare→propose→checkin→reward→share→(순환)propose
  • 자유입력 키워드 룰: "다시시작"→welcome, "목표"→discover 점프
  • checkin 미완 → propose 재제안(행동 쪼개기, 자율루프 split 차용)
  • 다음행동제안(목표,누적호응,누적거부) — 결정.한선 4상(티 자동제안/옴 검색후/타 보류/음 위임)
  • 사상행동제안(목표,시작번호) — 목표 하나에 티/옴/타/음 4상 균형 행동 생성
  • 비전정리(키워드들) — discover 키워드 배열 → 비전 선언 문장 합성
  • 아침제안생성() — data/coach/.json 전체 스캔(글자수 가드) → 각 프로필 pendingNudge 기록 (배치)
  • 진입점: 기본=자가테스트(welcome→share 1순환 시연), COACH_MODE=아침=배치
  • 아침 LaunchAgent: StartCalendarInterval Hour=7, RunAtLoad=false(미로드)
  • 검증 결과

    • 컴파일 OK (hanseonc_high), 자가테스트 11단계 전부 통과
    • JSON 스키마 R/W 라운드트립 확인 — 표준 JSON 파서로 검증, 필수 7키 + action 5필드 일치
    • 아침모드: 프로필 스캔→pendingNudge(text+actionId) 기록 확인, 빈 디렉토리 graceful
    • 학습DB 등록: intent=코칭코어

    공유 인터페이스 계약 (준수)

    data/coach/<owner>.json: { owner, state(welcome|discover|declare|propose|checkin|reward|share), vision, goals[], actions[{id,text,phase(티|옴|타|음),status(제안|진행|완료),reward}], pendingNudge{text,actionId}, history[] }

    관련 파일

    • /Users/ef/crowny-ai/코치.한선 (엔진)
    • /Users/ef/crowny-ai/data/coach/<owner>.json (프로필, JSON)
    • /Users/ef/Library/LaunchAgents/com.crowny.ai.coach.plist (아침 7시, 미로드)
    • /Users/ef/crowny-ai/logs/coach.out (배치 로그)

    실행

    cd /Users/ef/CrownyOS/crownyc
    ./hanseonc_high /Users/ef/crowny-ai/코치.한선 > /tmp/코치.toau 2>/dev/null
    ./crownyc run /tmp/코치.toau                 # 자가테스트
    COACH_MODE=아침 ./crownyc run /tmp/코치.toau  # 아침 배치
    

    잔여 이슈 / 함정

    • hanseonc_high 에 CLI 인자 내장함수 없음 → 모드 선택은 환경변수 COASH_MODE 로 (인수개수/명령행인자 미정의)
    • 디렉토리 스캔: 파일목록(".")=4095개 0값 반환(불량) → 체계("ls .json > /tmp") + 읽기 패턴 사용
    • LaunchAgent 미로드: 사용자가 launchctl load -w ~/Library/LaunchAgents/com.crowny.ai.coach.plist 로 활성