# V13-FE-003 — UI Adapter Port 재검증 | 항목 | 값 | | --- | --- | | Requirement / API / DB / Job / UI / Test | REQ-FE-ADAPTER / Cross / Cross / Cross / UI-FOUND-03 / T-FE-ADAPTER-01 | | Dependency / Gate | V13-FE-001 (COMPLETED) / G0 | | Artifact | `frontend/src/shared/ui/adapter/contracts.ts` | | Acceptance | provider ID/version과 feature-vendor-neutral port 계약 고정 | ## Source / Assumption / Unknown / Decision Required - **Source:** `adapter/contracts.ts`는 v4.0에 button, field, dialog, feedback, navigation, grid를 포함한 14 capability를 명시한다. `uiAdapter.contract.spec.ts`는 native와 PrimeVue/AG Grid adapter를 같은 contract로 검증한다. - **Assumption:** WBS의 "8개 Port"는 최소 기준이며, 현재 승인된 v4.0의 14 capability를 축소하지 않는다. - **Unknown:** KBX의 고수준 layout/form component를 새 port로 승격할 필요성은 아직 검증되지 않았다. - **Decision Required:** FormGrid/ValidationSummary 이식 후 세 번 이상 provider-neutral 재사용이 확인될 때에만 별도 port 추가 ADR을 검토한다. ## KBX 차용 경계 - 허용: Vue/CSS만으로 독립된 form layout, validation presentation, state refresh 안내를 K-ArtSell token/port로 재구현. - 금지: `@kbx/contracts`, KBX 권한 host, router/store, PrimeVue peer dependency를 feature 또는 shared layout에 이식. - 기존 `QueryStateBoundary`는 13개 상태와 correlation/retry를 보유하므로 KBX state boundary를 복제하지 않고 필요한 refresh 표현만 별도 Slice에서 흡수한다. ## 실제 증거 `pnpm vitest run src/shared/ui/adapter/tests/uiAdapter.contract.spec.ts src/shared/ui/tests/adapterCompatibility.spec.ts` - 2 files / 4 tests passed - exit 0, 2026-08-09 이 결과는 adapter contract 검증에 한정된다. build, visual, AT, DB 또는 migration 통과를 주장하지 않는다.