# KBX Problem Contract v14

## Problem Family

```text
validation
business-rule
conflict
permission
not-found
integration
system
```

## Validation

Field/Grid 입력 오류.

```json
{
  "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 판단

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

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