nexus↔크라우니ERP 연동 학습과정 — SAP 릴리스 전략 대응 규칙표 + ERP측 연동 정본 + 골든셋 + 학습 래칫
개요
2026-07-17-nexus-SAP대비-기능현황-ERP연동분석.md에서 확정한 역할분담(ERP=업무객체·상태기계,
nexus=판정 위임 1콜)을 실물 코드로 사전 학습자산화. crowny-butler/crowny-erp 기존 파일은 일체
무수정, 신규 디렉토리 crowny-erp/integrations/nexus/에만 산출.
무엇을 했는지
견적승인규칙.psv(31행) — SAP 구매 릴리스 전략 대응 규칙표. 축=전이(tech-review/sales-verify/
넥서스연동.한선— ERP측 연동 정본.팩트구성()/넥서스판정()(체계()로 crowny-butler의
규칙엔진.toau를 실행만 함, 임시파일 경유 입출력)/승인권자해석()(하드코딩 라벨→역할 표,
P2 주석으로 한계 명시)/전이허용()(4상→ERP 상태기계 지시). 자체시험 20/20 PASS.
셀코어룰.한선— 동일 금액단계→승인권자 로직을 셀코어 E모듈(룰생성/룰조건추가/룰변경추가/
x=x+함수호출() 누산 함정을 실측 재현(개별
PASS는 맞는데 합계만 1/6로 소실) → 임시변수 경유로 수정, 이후 6/6.
실행 후 규칙저장소.dat에 이 파일 출처 condition 레코드 확인(condition|셀코어룰:16|...).
골든셋.psv(26케이스) +회귀.sh(bash, 목 없이 실제규칙엔진.toau실행 결과 대조) — 26/26 PASS.README.md— P1 이전 사전자산 성격 명시, 라이브 배선 전 필요 작업(P0/P1) runbook 텍스트만.- 크라우니코드 학습 4건 add(ERP넥서스판정위임/ERP견적승인규칙표_SAP릴리스전략대응/
규칙엔진 호출 규약 (실측 확인)
crownyc run 규칙엔진.toau, stdin="규칙표경로|필드=값;필드=값\n", stdout은 여러 진단줄
("로드: N cubes"/"스택: []") 포함 — "|" 있는 마지막 줄 = 결정|사상|R우선순위|조건이 실제 결과
(승인규칙엔진.js의 .filter(l=>l.includes('|')).pop() 패턴과 동일).
관련 파일
- 산출:
/Users/ef/crowny-erp/integrations/nexus/{견적승인규칙.psv, 넥서스연동.한선, 셀코어룰.한선, 골든셋.psv, 회귀.sh, README.md} - 참조만(무수정):
/Users/ef/crowny-butler/libs/규칙엔진.{한선,toau},/Users/ef/crowny-butler/data/승인규칙2.psv,
/Users/ef/crowny-butler/승인규칙엔진.js, /Users/ef/crowny-erp/core/libs/권한검증.한선
- 분석 정본:
/Users/ef/CrownyDoc/projects/2026-07-17-nexus-SAP대비-기능현황-ERP연동분석.md
검증 수치
- 넥서스연동.한선: hanseonc_high 컴파일 PASS + crownyc run 자체시험 20/20(+부가 3/3)
- 셀코어룰.한선: 컴파일 PASS + 자체시험 6/6, 규칙저장소.dat 수확 확인
- 회귀.sh(골든셋 26케이스, 실 엔진 실행): 26/26 PASS
- crowny-butler 4개 파일 + crowny-erp/core/libs/권한검증.한선 mtime 작업 전후 동일 확인(무접촉 자기증명)
잔여 이슈 (P0/P1, 이 작업 범위 밖)
- G1: nexus.crowny.org 게이트웨이/포트 미배선 — 운영 결정 사항, 이 작업에서 미변경.
- G3: 규칙편집 UI 편집자 인증 없음 — 크라우니인증.한선 재사용 후보(미착수).
- G4: 승인권자 라벨의 실사용자 해석(권한검증.한선 연동) — README에 P2로 명시, 하드코딩 정적 표만 존재.
- 조직도.psv에 "이사회" 역할 미정의 — 실사용 전 확장 필요.
- 라이브 배선(견적서버.한선 등)은 P1 단계, 이번 작업은 그 전 학습자산까지만.