정책 엔진
정책 그룹 (Policy Group)
정책 그룹 (Policy Group)
정책 버전 (Policy Version)
정책 버전 (Policy Version)
DRAFT → ACTIVE → ARCHIVED- DRAFT: 편집 가능. 규칙을 추가, 수정, 삭제할 수 있습니다.
- ACTIVE: 발행되어 잠금. 더 이상 수정할 수 없습니다. 배포 준비 완료.
- ARCHIVED: 새 버전으로 대체됨. 읽기 전용 기록.
- EXPIRED:
effectiveTo날짜를 지남. 스케줄러가 자동 전환.
정책 규칙 (Policy Rule)
정책 규칙 (Policy Rule)
true로 평가되면 해당 액션이 실행됩니다.
규칙은 버전 내에서 우선순위 순서로 정렬됩니다 (0 = 최우선).조건 (Condition)
조건 (Condition)
EQUALS, GREATER_THAN, CONTAINS, IN 등의 연산자를 사용하여 입력 팩트를 평가합니다.
AND / OR 논리 연산자로 그룹을 중첩할 수 있습니다.액션 (Action)
액션 (Action)
MUTATE_FACT, INCREMENT_FACT, EMIT_EVENT, EMIT_NOTIFICATION, EMIT_WEBHOOK, BLOCK, SET_FACT, ADD_TAG.
이들은 도메인 중립 원시(primitive) 입니다 — 엔진은 숫자와 구조만 봅니다. 커머스 같은 특정 도메인 개념을 가정하지 않습니다. 도메인 의미(“할인”, “쿠폰”, “포인트” 등)는 액션 타입이 아니라 팩트 이름과 integration 페이로드로 표현됩니다.팩트와 스키마
팩트 (Fact)
팩트 (Fact)
user_id, customer_tier, order_total.
팩트는 조건이 평가하고 액션이 사용하는 원시 데이터입니다.팩트 정의 (Fact Definition)
팩트 정의 (Fact Definition)
user_id, user_tags)가 편의를 위해 계정 생성 시 미리 등록되어 있으며, 다른 팩트와 동일하게 수정·삭제할 수 있습니다.사전 등록 팩트 (Pre-registered Facts)
사전 등록 팩트 (Pre-registered Facts)
user_id, user_tags. 편의를 위해 제공되는 팩트로, 특별히 보호되지 않으며 일반 커스텀 팩트와 동일하게 이름 변경·타입 변경·삭제가 가능합니다. 그 외 모든 팩트(예: customer_tier, order_total)는 사용자가 팩트 정의에서 등록합니다.미등록 팩트 (Unregistered Fact)
미등록 팩트 (Unregistered Fact)
lexq facts unregistered 또는 lexq_facts_unregistered MCP 도구로 목록을 확인하세요.생성 변수 (Generated Variables)
생성 변수 (Generated Variables)
generatedVariables에 노출되는 변수 — 입력 팩트에 없었지만 액션 실행 결과로 생성된 값들입니다.
{key}__delta 명명 규칙을 따르는 액션별 변화량 키도 포함합니다:{refVar}__delta—MUTATE_FACT의 부호 포함 순변화량 (mutated - original).{targetVar}__delta—INCREMENT_FACT의 0 이상 증분량.
__delta는 누적 변화량을 보고합니다. 액션별 스냅샷은 audit drill-down용으로 executionTraces에 보관됩니다.배포 생명주기
발행 (Publish)
발행 (Publish)
DRAFT에서 ACTIVE로 전환합니다.
발행되면 버전이 잠기며 규칙과 설정을 수정할 수 없습니다.
발행만으로는 라이브 트래픽이 라우팅되지 않습니다. 별도의 배포 단계가 필요합니다.배포 (Deploy)
배포 (Deploy)
ACTIVE 버전을 라이브 상태로 승격합니다.
배포 후 해당 버전이 프로덕션 트래픽을 수신하고 처리합니다.
정책 그룹당 하나의 버전만 라이브일 수 있습니다.배포 해제 (Undeploy)
배포 해제 (Undeploy)
롤백 (Rollback)
롤백 (Rollback)
예약 배포 (Scheduled Deployment)
예약 배포 (Scheduled Deployment)
테스트와 분석
드라이런 (Dry Run)
드라이런 (Dry Run)
mockExternalCalls를 false로 설정하면 실제 호출을 수행합니다.변경 영향 시뮬레이션 (Impact Simulation)
변경 영향 시뮬레이션 (Impact Simulation)
의사결정 재실행 (Decision Replay)
의사결정 재실행 (Decision Replay)
실행 (Execution)
실행 (Execution)
실행 트레이스 (Execution Trace)
실행 트레이스 (Execution Trace)
의사결정 트레이스 (Decision Trace)
의사결정 트레이스 (Decision Trace)
status—SELECTED,NO_MATCH,NOT_SELECTED,BLOCKED,ERROR.reasonCode— 해당 status 안에서의 구체적 사유 (예:FINAL_WINNER,CONDITION_MISMATCH,MUTEX_PRIORITY_LOST,GROUP_LIMIT_REACHED,ACTION_ERROR).
A/B 테스트 (A/B Test)
A/B 테스트 (A/B Test)
감사와 출처
의사결정 출처 (Decision Provenance)
의사결정 출처 (Decision Provenance)
PII 마스킹 (PII Masking)
PII 마스킹 (PII Masking)
••••••로 마스킹되어 도착하고, maskedKeys가 그 목록을 알려줍니다.
표시 레이어 전용 정책입니다. 엔진은 항상 실제 값으로 평가합니다.PII 열람 (PII Reveal)
PII 열람 (PII Reveal)
열람 감사 원장 (Reveal Audit Ledger)
열람 감사 원장 (Reveal Audit Ledger)
규칙 실행 제어
Mutex 그룹 (상호 배타 그룹)
Mutex 그룹 (상호 배타 그룹)
mutexGroup 키를 공유하는 규칙들이 실행 경쟁을 합니다.
mutexMode가 EXCLUSIVE이면 승리한 규칙 하나만, MAX_N이면 최대 mutexLimit개의 규칙이 실행됩니다. 어느 규칙이 승리하는지는 설정된 전략이 결정합니다.Mutex 전략 (상호 배타 전략)
Mutex 전략 (상호 배타 전략)
- FIRST_MATCH: 우선순위 순서에서 첫 번째 매칭 규칙이 승리.
- HIGHEST_PRIORITY: 우선순위 번호가 가장 낮은 규칙이 승리.
- MAX_BENEFIT: 가장 높은 출력 값을 생성하는 규칙이 승리.
Mutex 실행 한도 (Mutex Limit)
Mutex 실행 한도 (Mutex Limit)
MAX_N 모드에서 mutexLimit은 Mutex 그룹 내에서 실행할 수 있는 규칙의 최대 수를 제어합니다 (기본값: 1).결제와 인프라
초과 사용 (Overage)
초과 사용 (Overage)
요청 제한 (Throttle)
요청 제한 (Throttle)
429 Too Many Requests를 반환합니다.청구 프로필 (Billing Profile)
청구 프로필 (Billing Profile)
장애 시 허용 (Fail-open)
장애 시 허용 (Fail-open)
연동 (Integration)
연동 (Integration)

