nexus 의사결정 코어 — (a)통합 + (b)승인 규칙엔진
목적
nexus.crowny.org = 한선씨 1레이어 규칙기반 의사결정 고도화도구(SAP+팔란티어 파운드리급). 지금까지 스택을 의사결정 코어로 통합하고 구체 유즈케이스 실증.
(a) 통합 의사결정 코어 (의사결정코어.js)
입력 → 이해(라우터) → 규칙판단(슬롯·행동스펙·위험등급) →
4상 판정 → 행동·안전(핸들러+게이트) → 출력, 단일 엔트리 +
감사기록(파운드리식 추적·리플레이).
- 4상 매핑: 티=실행(안전·확신) / 옴=보완·주의(저확신·서술·경고) / 타=거부(정책위반) / 음=상신(파괴→승인).
- 검증: 계란구워줄래→티(REQUEST) · 사자궁금→티(QUERY 코드 궁금→질문(사자)) · 비왔어길잠겼어→옴(서술) · 시스템삭제→음(상신·승인) · 캐시지워→옴(주의). 감사기록 의사결정_감사.psv에 유형·행위·상·위험등급·코드 추적.
(b) 업무 승인 규칙엔진 (승인규칙엔진.js + libs/승인판정.한선)
데이터기반 규칙표(승인규칙.psv) + 한선씨 정본 평가. 텍스트 요청→금액추출+위험탐지→규칙판정.
- 규칙: 위험=반려(타) / 금액≤10만=자동승인(티) / ≤100만=팀장(옴) / ≤1000만=임원(옴) / >1000만=이사회(음).
- 검증: 5만→티(자동승인) · 300만→옴(임원) · 5천만→음(이사회) · 3억→음(이사회) · 리베이트→타(반려).
결과·방향 (a→b 실증)
- 4상이 두 도메인(명령실행·업무승인)을 통일적으로 판정 — nexus 의사결정 프레임 확인.
- 안전게이트가 라우팅 오류에도 파괴를 음(상신)으로 잡음(robust).
- 규칙엔진=데이터기반 규칙표+한선씨 평가로 확장 용이(SAP/파운드리식).
- 갭: (a)와 (b)가 아직 분리 — 입력의 의사결정 도메인(명령/승인/배분)을 판별해 적절 규칙엔진으로 보내는 도메인 라우터 필요. 이해(라우터) 정확 68% 천장이 (a)에 전파.
관련 파일
- 통합: 의사결정코어.js · 승인: 승인규칙엔진.js + libs/승인판정.한선 + data/승인규칙.psv
- 감사: data/의사결정_감사.psv
잔여(고도화 방향)
- 도메인 라우터(명령/승인/배분/조회 판별 → 규칙엔진 디스패치)
- 규칙표 확장(도메인별 수십~수백 규칙)
- 감사·리플레이 UI(파운드리식 검사)
- 리소스 배분 규칙엔진(두 번째 유즈케이스)
도메인 라우터 + 배분 엔진 — (a)(b) 통합 (2026-07-17)
도메인 라우터 (libs/도메인판별.한선)
입력→명령/승인/배분 판별(키워드표 도메인키워드.psv + 금액신호). 검증 6/6: 계란구워→명령·300만장비구매→승인·서버자원배분→배분·인력나눠배정→배분·예산결재→승인·사자궁금→명령.
리소스 배분 규칙엔진 (배분엔진.js + libs/배분판정.한선)
요청량|가용량|우선→결정. 규칙: 요청≤가용=전량배정(티)/요청>가용×2=과다거부(타)/우선높음=부분배정(옴)/그외=대기(음). 검증 5/5.
마스터 디스패처 (넥서스.js)
단일 엔트리 결정(입력): 도메인판별→명령(의사결정코어)/승인(승인규칙엔진)/배분(배분엔진) 디스패치→통일 4상→감사(넥서스_감사.psv).
- 통합 검증 7/7: [명령][티]계란구워 · [승인][옴]300만→임원 · [승인][음]5천만→이사회 · [승인][타]리베이트→반려 · [배분][옴]서버10/가용6긴급→부분배정 · [배분][타]인력20/가용6→과다거부 · [명령][음]시스템삭제→승인큐이관(안전).
- nexus 코어 = 단일 엔트리로 도메인 판별→규칙엔진 디스패치→통일 4상→전 결정 감사추적. 정본 한선씨: 도메인판별·배분판정·승인판정·(명령스택).
잔여(고도화)
- 도메인·규칙표 확장(조회/일정 도메인, 도메인별 수십 규칙)
- 감사·리플레이 UI(파운드리식 결정 검사·재현)
- 명령 도메인 이해(라우터) 68% 천장 개선 전파 저감
감사·리플레이 UI (2026-07-17)
전 결정의 흐름을 파운드리식으로 가시화 → 신뢰·디버깅 기반. 도구
감사서버.js(:9802 crowny-넥서스감사).
- 데이터: 넥서스_감사.psv(마스터) + 의사결정_감사.psv(명령 상세) 조인.
- 대시보드: 4상 분포·도메인 분포 통계 + 도메인/4상 필터 + 결정별 리플레이(입력→도메인→이해(유형)→판단(행위·코드)→안전(위험등급)→4상→출력) 펼침, 4상 색상(티녹/옴황/타적/음보).
- 검증: 10 결정 표시, 흐름 예 "파일 열어줘→명령→이해 목적-제작→판단 CREATE→안전 안전→티"(오라우팅도 흐름에 드러나 디버깅 가능). GET/ 200.
- 호출형(node 감사서버.js), 디자인 미통일(추후 일괄).
도메인 확장 — 조회·일정 (2026-07-17)
3도메인(명령/승인/배분)→
5도메인. 도메인판별.한선 우선순위=배분>승인/금액>일정>조회>명령.
- 일정 도메인: 일정엔진.js + libs/일정판정.한선(시간지정|충돌→예약확정 티/대안제시 옴/확인필요 음). 검증: 내일3시회의→티(예약확정)·회의잡아줘(시간미정)→음(확인필요).
- 조회 도메인: 조회엔진.js(엔티티 추출→의미어조회 실조회→결과있음 티/없음 음). 검증: 사자 현황 조회→티(4건)·존재안하는것→음(데이터없음).
- 도메인 판별 6/6 검증(명령/승인/배분/일정/조회). 넥서스 통일 엔트리 5도메인 전 경로 + 감사(넥서스_감사.psv, UI 필터 5도메인).
- 정본 한선씨: 도메인판별·일정판정 추가(누적: 도메인판별·승인판정·배분판정·일정판정·위험 3종).
규칙표 실무 규모 확장 — 범용 다조건 규칙엔진 (2026-07-17)
단순 임계 규칙을
데이터기반 다조건 규칙엔진으로. 규칙 추가=psv 행 추가(코드 무수정) = SAP/파운드리식 실무 규모.
- 범용 엔진 libs/규칙엔진.한선: 입력 규칙표경로|팩트("필드=값;필드=값"), 규칙표=우선순위|조건;조건|결정|사상. 조건=필드=값(문자열)/필드<=값·필드>=값(수치), ;로 AND. 우선순위순 첫 전조건매칭 채택. 컴파일검증.
- 승인규칙2.psv 19규칙(유형 접대/운영비/인건비/자본지출/구매 × 금액임계 × 긴급예외 × 위험반려). 승인규칙엔진.js가 텍스트→유형·금액·긴급·위험 팩트추출→범용엔진.
- 검증 7/7: 접대20만→티(자동)·접대50만→타(한도초과반려)·운영비300만→옴(팀장)·자본5천만→음(이사회)·구매50만긴급→티(긴급자동승인, 예외 우선발동)·리베이트→타(위험반려)·인건비400만→음(임원).
- 핵심: 범용 엔진 1개가 전 도메인 규칙 구동 가능(배분·일정도 이 포맷으로 마이그레이션 가능). 규칙 확장=데이터, 로직 무수정.
잔여
- 배분·일정도 범용 규칙엔진으로 통합(규칙표 psv화)
- 규칙 충돌 검사·설명가능성(어느 규칙이 발동했는지 추적)
- 감사UI 실운영·디자인통일
배분·일정 범용엔진 통합 (2026-07-17)
승인에 이어 배분·일정도 범용 규칙엔진(규칙엔진.한선)으로 통합 →
3 규칙도메인 단일 엔진 + 데이터 psv.
- 배분규칙.psv: 파생팩트(충분=요청≤가용, 과다=요청>가용×2)로 필드-필드 비교 대체 + 우선 + catch-all(빈조건). 배분엔진.js가 파생팩트 계산→범용엔진, 배정량은 결정에서 산출.
- 일정규칙.psv: 시간·충돌 팩트 + catch-all. 일정엔진.js 팩트→범용엔진.
- catch-all: 빈 조건("N||결정|사상")=항상매칭=기본규칙(전조건매치 빈조건→1).
- 회귀 검증: 5도메인 전 경로 동일 결과. 배분 전량/부분/과다·일정 예약/대안/확인 정확. "선약있는데 3시회의"→대안제시(옴, 시간지정+충돌).
- 아키텍처: 규칙엔진.한선 1개 + 규칙표 3개(승인규칙2·배분규칙·일정규칙). 새 도메인=규칙표 psv 추가 + 팩트추출 JS. 규칙 확장=데이터. (배분판정·일정판정·승인판정.한선은 참조용 잔존)
규칙 충돌검사 + 설명가능성 — 파운드리식 (2026-07-17)
설명가능성 (어느 규칙이 왜 발동?)
- 규칙엔진.한선 출력을 결정|사상|발동규칙|매칭조건으로 확장. 3 엔진(승인·배분·일정)이 발동규칙·근거 surface.
- 검증: 접대50만→반려 ∵R4(유형=접대;금액>=31) · 구매긴급→긴급자동승인 ∵R2(긴급=1;금액<=100) · 자본5천만→이사회 ∵R11 · 배분부분 ∵R3(우선=1) · 일정대안 ∵R2(충돌=1).
- 넥서스 감사기록에 발동규칙 저장, 감사 UI 리플레이에 [규칙] 스테이지 추가.
규칙 충돌 검사 (규칙검사.py)
정적 분석: ①모순(동일조건 다른결정) ②미도달(앞 규칙에 그림자·팩트공간 ⊆) ③catch-all(빈조건 없음/마지막 아님).
- implies(j,i): 뒤 규칙 j 팩트공간 ⊆ 앞 규칙 i → j 미도달. (초기 방향역전 버그 수정).
- 검증: 배분·일정규칙 ✓ 무결. 승인규칙2 catch-all 부재 경고→R20 기본규칙 추가로 해소. 나쁜규칙 주입→미도달 2건(catch-all 뒤 R5·구매<=50 shadowed) 정확 탐지.
감사 UI 실운영 연결 — 상시 모니터링 (2026-07-17)
감사 대시보드를 넥서스 라이브 콘솔로. 도구 감사서버.js(:9802) 확장.
- 결정 제출: POST /api/decide {입력}→넥서스.결정(5도메인)→감사(넥서스_감사.psv) 축적→응답(도메인·사상·출력·발동규칙). UI 상단 입력바+결정 버튼.
- 상시 모니터링: setInterval 5초 자동폴링→새 결정·통계 라이브 반영. "● 라이브" 표시.
- 검증: 3건 제출(배분음·일정티·승인음)→감사 42→45 축적, 발동규칙(R4·R3·R9) 표시, 4상 색상. GET/ 200.
- 호출형(node 감사서버.js), 상시가동 필요시 LaunchAgent 등록(자율데몬 자동생성 안 함-폭주방지).
- 완성: 넥서스 결정을 입력→라우팅→규칙판단→4상→안전→감사→리플레이까지 단일 화면서 실시간 관찰.