# V13-FE-033 — KBX ProblemDetails adoption Slice note

## Scope

- **WBS:** V13-FE-033
- **Requirement/API/Test:** REQ-FE-ERROR / Cross / T-FE-ERROR-01
- **Goal:** KBX v60 problem discriminator and recovery metadata를 현재 ASP.NET ProblemDetails + Zod 경계에 제한적으로 차용한다.
- **Status:** IN_PROGRESS

## Source / Assumption / Unknown / Decision Required

- **Source:** `docs/Design/kbx-foundation-v60-status-canonical-contract-hardening/contracts/problems/kbx.problem.schema.json`, `packages/kbx-ui`의 오류 계약, 현재 `frontend/src/shared/api/problem.ts`와 `client.ts`.
- **Assumption:** 기존 `status` HTTP 필드는 유지한다. KBX `type`은 도메인 오류 분류를 보강하는 discriminator로만 사용한다.
- **Unknown:** BE가 실제로 `correlationId`, `retryable`, `validationErrors`, `actions`를 어떤 JSON naming policy로 발행하는지와 모든 endpoint의 응답 일관성.
- **Decision Required:** BE/Architect가 공통 ProblemDetails payload의 필드명과 401/403/409/422/429/503별 표준 메시지·재시도 정책을 승인해야 한다.

## Adopted

- Discriminator: `validation`, `business-rule`, `conflict`, `permission`, `not-found`, `integration`, `system`.
- Recovery metadata: `correlationId`, `code`, `retryable`, `currentVersion`, `actions`, structured validation errors.
- Pure FE interaction mapping: `UNAUTHORIZED`, `FORBIDDEN`, `CONFLICT`, `VALIDATION`, `RETRYABLE`, `ERROR`.

## Explicitly not adopted

- OMS lifecycle/shipment status values, OMS routes, database migrations, generated clients, PrimeVue/AG Grid imports, automatic retry execution, or KIS/order submission behavior.
- No server-side error contract was invented; current implementation accepts the proposed fields but does not claim BE parity.

## Evidence

- `pnpm exec vitest run src/shared/api/tests/problem.spec.ts`: 1 file, 9 tests passed.
- `pnpm typecheck`: passed (`vue-tsc --noEmit`).

## Remaining acceptance evidence

- BE contract fixture or live endpoint evidence for all six interaction classes.
- API Architect approval of field naming, redaction, correlation propagation, and retry ownership.
- Browser/component evidence that each standard state renders the approved action without duplicate submission.
