2.2 KiB
2.2 KiB
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: 기존
statusHTTP 필드는 유지한다. KBXtype은 도메인 오류 분류를 보강하는 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.