Files
KArtSell.Aegis/docs/Design/kbx-foundation-v60-status-canonical-contract-hardening/docs/problem-contract-v14.md
T
kjh2064 3f293d8aa8
deploy / deploy (push) Successful in 1m52s
deploy / notify (push) Successful in 1s
V13-FE-006: consolidate approved UI and contract hardening
2026-08-13 02:41:00 +09:00

1.4 KiB

KBX Problem Contract v14

Problem Family

validation
business-rule
conflict
permission
not-found
integration
system

Validation

Field/Grid 입력 오류.

{
  "type": "validation",
  "title": "입력값을 확인하세요.",
  "errors": [
    {
      "field": "orderQty",
      "rowKey": "line-7",
      "code": "INSUFFICIENT_STOCK",
      "message": "출고 가능 수량은 8개입니다."
    }
  ]
}

Business Rule

Field 하나로 귀속되지 않는 정상적인 업무 거부.

Conflict

Optimistic Concurrency 및 상태 충돌.

Permission

사용자는 기능 존재를 알 수 있지만 실행 권한이 없는 경우 UX에서 명확히 표현할 수 있다. 최종 Enforcement는 Backend다.

Not Found

Lookup Resolve나 Entity 직접 진입에서 공통 처리한다.

Integration

외부 연계 실패. retryable이 명시된다.

System

예상하지 못한 시스템/네트워크 실패. 사용자에게 Stack Trace 대신 correlationId를 제공한다.

Retry 판단

validation      → 입력 수정
business-rule   → 업무 Action
conflict        → 최신 데이터 재조회
permission      → 자동 Retry 금지
not-found       → 자동 Retry 금지
integration     → retryable=true일 때 정책에 따라 재시도
system          → retryable=true일 때만 안전 재시도

HTTP Status 숫자만으로 WMS Retry Queue를 결정하지 않는다.