크라우니엔진 준비도 감사 — 2026-06-26
자율진행 2차 사이클#3 캡스톤: 포터빌리티 풀 라운드트립 + 최종 준비도 감사
A. 포터빌리티 풀 라운드트립 결과
실행 환경
- 소스 tar:
/Users/ef/crowny-engine/dist/엔진-2026-06-26.tar (627,712 bytes)
- 추출 경로:
/tmp/엔진-이식테스트/ (40개 파일)
- 포터빌리티 모듈:
core/포터빌리티.한선 → /tmp/포터빌리티.toau 컴파일 성공
화이트리스트 안전장치 실증
ENGINE_NEW_HOME=/tmp/엔진-이식테스트 → 거부 ✓
출력: [포터빌리티 오류] ENGINE_NEW_HOME 허용 prefix(/Users/) 위반
D1 보안 장치 정상 작동.
실제 리매핑 실증
ENGINE_OLD_HOME=/Users/ef
ENGINE_NEW_HOME=/Users/이식테스트
ENGINE_PACKAGE_DIR=/tmp/엔진-이식테스트
| 항목 | 결과 |
|---|
| 검사 파일 수 | 19개 |
| 변경 파일 수 | 13개 |
| 스킵 수 | 21개 (바이너리·미분류) |
변경된 파일 (13): 엔진서버기동.sh, 인터랙티브.sh, claude실행.sh, 멀티유저.sh, 일일빌드.sh, 부트스트랩.sh, 정산기동.sh, 포터블복원.sh, 세션제목설정.sh, README.md, 엔진.sh, crowny-admin-server.js, CLAUDE.md
확인: grep "/Users/이식테스트" → 13개 파일 적용 확인.
확인: .sh 파일 내 /Users/ef 잔존 = 0 (완전 치환).
발견된 VM함정 — .한선 파일 리매핑 누락
.한선 파일들(시간헬퍼.한선 등)의 주석에 포함된
/Users/ef 경로가 치환되지 않음.
원인 추정: 한선씨 파일명의 Korean 문자(
판정,
헬퍼 등)가 find 반환 경로에서 파일목록 분리 시 유실 → 텍스트파일 분류에서 누락.
영향: 주석 경로 불일치 (실행 로직에는 무영향). 차기 개선 대상.
재컴파일 검증 (샘플 2개)
시간헬퍼.한선 (추출본) → 컴파일 PASS → [PASS] 시간헬퍼 자가테스트 전체 통과
- 리매핑된
.sh 파일들 → bash -n PASS
원본 무변경 확인
/Users/ef/crowny-engine/bin/엔진서버기동.sh →
/Users/ef 경로 3건 유지,
/Users/이식테스트 없음. ✓
B. 최종 준비도 감사
B-1. .한선 컴파일 결과
core/ (17개 파일)
| 파일 | 컴파일 |
|---|
| effort판정.한선 | PASS |
| 과금클라이언트.한선 | PASS |
| 구독게이트.한선 | PASS |
| 달란트서버.한선 | PASS |
| 돈실행.한선 | PASS |
| 매니페스트.한선 | PASS |
| 분업라우팅.한선 | PASS |
| 세션제목.한선 | PASS |
| 시간헬퍼.한선 | PASS |
| 엔진.한선 | PASS |
| 엔진서버.한선 | PASS |
| 정산.한선 | PASS |
| 체인.한선 | PASS |
| 패키지빌드판정.한선 | PASS |
| 포터빌리티.한선 | PASS |
| 환율클라이언트.한선 | PASS |
| 회원클라이언트.한선 | PASS |
core 합계: 17/17 PASSshell/ (4개 파일)
| 파일 | 컴파일 |
|---|
| claude실행.한선 | PASS |
| 멀티유저.한선 | PASS |
| 인터랙티브.한선 | PASS |
| 파이프라인.한선 | PASS |
shell 합계: 4/4 PASS전체 .한선: 21/21 PASS
B-2. .sh bash -n 결과 (12/12 PASS)
claude실행.sh, 돈실행.sh, 멀티유저.sh, 부트스트랩.sh, 세션제목설정.sh, 인터랙티브.sh, 일일빌드.sh, 정산기동.sh, 파이프라인.sh, 포터블복원.sh, 엔진.sh, 엔진서버기동.sh
전체 .sh: 12/12 PASS
B-3. 자가테스트 실행 결과
| 모듈 | 자가테스트 결과 |
|---|
| 시간헬퍼.한선 | PASS — 오늘=2026-06-26, 월키=2026-06 |
| 구독게이트.한선 | PASS |
| 분업라우팅.한선 | PASS |
| 체인.한선 | PASS |
| effort판정.한선 | PASS (CROWNY_ENGINE_EFFORT=medium 출력) |
| 세션제목.한선 | PASS |
| 패키지빌드판정.한선 | PASS (변경 감지 정상) |
| 매니페스트.한선 | PASS |
| 과금클라이언트.한선 | PASS |
| 회원클라이언트.한선 | PASS (네트워크 테스트 생략=정상) |
| 정산.한선 | PASS (구독자 없음 — 사이클 정상 종료) |
| 환율클라이언트.한선 | PASS |
자가테스트: 12/12 PASS
B-4. 9기능 현재상태 매트릭스
| # | 기능 | 상태 | 비고 |
|---|
| 1 | claude 실행 오케스트레이션 | 작동실증 | claude실행.sh+.한선 PASS, effort/분업 자가테스트 PASS |
| 2 | 서버측 가치 구독 페이월 | 컴파일만 | 구독게이트.한선 PASS, 엔진서버 WIRE 주석만(배선 미완) |
| 3 | 멀티유저 슬롯 관리 | 컴파일만 | 멀티유저.한선 PASS, usermap.json 없음, LaunchAgent 없음 |
| 4 | 일일 패키지 빌드 + diff 배포 | 작동실증 | dist/엔진-2026-06-26.tar 생성 확인, 패키지빌드판정 PASS |
| 5 | 구독 정산 (배치 크론) | 컴파일만 | 정산.한선 자가테스트 PASS, LaunchAgent 미작성, 구독자 없음 |
| 6 | 단일 해시 체인 | 컴파일만 | 체인.한선 자가테스트 PASS, wal.log 없음(미기동), 앵커=스텁 |
| 7 | 포터블 번들 + 안전 복원 | 작동실증 | 이번 라운드트립 테스트: 화이트리스트+리매핑 실증(단, .한선 파일 리매핑 누락) |
| 8 | 세션 제목 자동 도출 | 작동실증 | 세션제목.한선 자가테스트 PASS |
| 9 | 분업 라우팅 + effort 판정 | 작동실증 | 분업라우팅+effort판정 자가테스트 PASS, crowny-throttle 연동 준비 |
작동실증: 5/9 | 컴파일만: 4/9 | 보류: 0/9
B-5. 잔여 블로커
| 우선순위 | ID | 내용 |
|---|
| P0 | 포트 미배선 | crowny-ports.sh set crowny-engine-api <포트> 미실행 |
| P0 | KPS 확인 (9761) | admin-server 용도 확인 전까지 통합 보류 |
| P0 | 외부 API 스펙 | bank/회원서비스/dex API 실제 스펙 미확인 (과금·정산 가정 위에 있음) |
| P1 | LaunchAgent 3종 | engine-api / engine-settle / engine-dailybuild 미작성 |
| P1 | 게이트웨이 정적경로 | gateway.yaml packages prefix 배선 필요 |
| P1 | libs/세션이관.한선 심볼릭 | libs/에 인증판정.한선만 있음, 세션이관 심볼릭 미생성 |
| P1 | 엔진서버 구독게이트 배선 | 현재 WIRE 주석만, 실제 분기 미구현 (기능#2 차단) |
| P2 | 체인 배치앵커 | 현재 스텁 — 9729 실배선 필요 |
| P2 | 포터빌리티 .한선 리매핑 | Korean 파일명 path 처리 VM함정 (주석 경로 불일치) |
| P3 | 달란트서버 배선 | 엔진서버.한선에 달란트 미연결 |
관련 파일 경로
/Users/ef/crowny-engine/core/포터빌리티.한선 — 포터빌리티 모듈
/Users/ef/crowny-engine/dist/엔진-2026-06-26.tar — 오늘 빌드 번들
/Users/ef/crowny-engine/CLAUDE.md — 전체 스펙 (9기능·블로커 §9)
/Users/ef/crowny-engine/runbook/배선.md — LaunchAgent 템플릿