컴포저.한선 — 매니페스트→한선씨 서비스 코드젠 엔진
개요
매니페스트 선언만으로 학습/라이브러리 함수를 완전한 한선씨 TCP 서비스로
조립하는 결정론적 코드젠 엔진. 한 번 컴포저를 만들면 이후 정형 서비스는
매니페스트만 쓰면 토큰0·결정론적으로 재구축됨 (젯슨 토르 SLM 이식 핵심).
무엇을 했는지
- /Users/ef/crowny-services/컴포저.한선 — 코드젠 엔진 (compiles, 608720B toau)
- /Users/ef/crowny-services/데모핸들러.한선 — 핸들러 규약 예시 (라이브러리 재사용)
- /tmp/svc.manifest — 샘플 매니페스트
- 파이프라인 검증: 컴포저 → 생성서버.한선(330568B toau) → 8 라우트 라이브 테스트 통과
- 결정론 검증: 동일 매니페스트 → byte-identical 출력
매니페스트 포맷
- 헤더:
name|port|static_dir
- 라우트:
method|path|handler|lib (method=GET|POST|*, lib=- 없음)
- 핸들러 규약:
함수 핸들러(원시,경로,본문) { 반환 <HTTP응답문자열> }
- 환경변수: MANIFEST / HANDLERS / OUT
코드젠 핵심 트릭 (한선씨 함정)
- 생성 소스의 실제 CR/LF → 이스케이프 시퀀스 2글자(\r \n)로 치환. 안 하면 문자열 조기종료.
- 이스케이프는 반드시 전체치환() (치환()은 첫 매치만 → JSON 다중 따옴표 깨짐).
- 인라인
; 다단어 주석 금지 → // 사용 (hanseonc_high가 ; 인라인 미지원).
- 인라인 코드 뒤 lone
"/\ 주석 금지 (문자열로 오인).
- 생성 서버도 VM 함정 준수: 첫변수 _더미=0, Connection:close, 파일소켓전송 정적.
관련 파일
- /Users/ef/crowny-services/컴포저.한선
- /Users/ef/crowny-services/데모핸들러.한선
- /Users/ef/crowny-services/서비스서버.한선 (라우터/응답헬퍼 참조원)
잔여 이슈
- HANDLERS는 파일 전체 핸들러를 삽입 → 매니페스트 lib와 핸들러 의존성 정합 필요
(미참조 핸들러의 lib 누락 시 미정의함수). 향후: 참조 핸들러만 선택 삽입.