Files
kjh2064 c41e5063b7 chore: remove kbx-foundation-v36 reference (superseded by v4 implementation)
Removed entire kbx-foundation-v36 directory as it's been replaced by
the new KBX Foundation v4 patterns implemented in this session:
- Registry-driven screen definitions
- Density-aware UI adapter components
- Feature module templates (ShadowRun, Models)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-12 01:39:58 +09:00

114 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# KBX FE Reference Lab v50
Backend/API 없이 브라우저에서 즉시 실행하는 KBX 업무 UI 원형이다. 목적은 별도 Demo UI를 만드는 것이 아니라 **T01~T09의 실제 HTML/CSS/JavaScript 상호작용, Theme State, Keyboard, Recovery, WMS Mobile**을 빠르게 재현하는 것이다.
## 실행
```bash
cd apps/web/fe-reference
python3 -m http.server 4173
```
운영 Domain을 흉내 내는 제품이 아니다. Permission, Domain Validation, DB Commit, Audit, Concurrency, Idempotency는 Server 최종 책임이다.
## v50 Operational Truth / Home Overflow QA
- Home Attention 기본 8개, 최대 priority surface 24개
- 총 건수 >24이면 `전체 보기`라고 과장하지 않고 `우선 24개 보기`
- 남은 항목은 `작업 센터 전체 / 알림 센터 전체`로 이동
- Work Center open → Esc close → Home trigger Focus restore
- KBX Business Light/Dark에서 동일한 Label/Action/Focus 유지
- 실제 Template 코드의 non-retryable error는 `[다시 시도]`를 숨기는 공통 계약을 사용
- 증적: `docs/evidence/v50-browser-operational-truth.json` (16/16)
- Preview: `previews/v50-home-overflow-dark-1440x900.png`
## v46 검증 범위
- KBX Business Light / Dark + Forced Colors 의미 체계 유지
- clean Workspace 위치만 `sessionStorage`에 복원
- Query/Hash/Dirty Form·Grid 값은 session snapshot에서 제외
- 복원 tab `↺` + Home `복원` 표시, 실제 진입 시 resumed marker 제거
- Home/no-active-tab 상태에서도 첫 Workspace Tab keyboard entry 보장
- Storage API 차단 시 Preference/Resume 없이 fail-soft 기동
- T09 WMS common state boundary의 Error → `[작업 다시 불러오기]` recovery loop
- Browser Reference QA 20/20: clean resume, dirty exclusion, Dark Theme, 1280px overflow, runtime error 0
## v44 검증 범위
- KBX Business Light / Dark semantic theme
- Windows Forced Colors system-color fallback
- Home: 확인 필요 → 바로 시작 → 모듈별 업무
- Header: 작업/알림 **비모달 System Panel**, Esc, Focus Restore
- Help/AI/Suggestion/Detail: Drawer contract 유지
- T01: 검색 → Loading/Empty/Error/Ready → 선택/Bulk/Drawer → Empty 복구
- T02: Master CRUD + Dirty Guard + Lookup
- T03: Header/Detail + Validation-safe F8
- T04: Fast Entry/Paste/Fill Down
- T05: Master→Location→재고이력
- T06: Actionable Queue
- T07: Reconcile/Resolution
- T08: Excel Import + Background Job
- T09: 390×844 WMS Mobile + Scanner/Network/Duplicate Guard
## Theme 원칙
Light/Dark는 표현 모드이며 업무 상태나 Permission의 Source of Truth가 아니다. Forced Colors가 활성화되면 OS `Canvas`, `CanvasText`, `Highlight`, `LinkText`를 우선한다. Theme 변경으로 Layout/Density/Keyboard 문법을 변경하지 않는다.
## QA 증적
- `previews/v44-home-light-1440x900.png`
- `previews/v44-home-dark-1440x900.png`
- `previews/v44-runtime-panel-dark-1440x900.png`
- `previews/v44-t01-dark-1440x900.png`
- `previews/v44-t01-forced-colors-1440x900.png`
- `previews/v44-t09-dark-390x844.png`
- `docs/evidence/v44-theme-state-browser.json` — 14/14
- `docs/evidence/v44-browser-matrix.json` — 28/28
실행환경의 localhost/file navigation 제약 때문에 Browser QA는 동일 HTML/CSS/JS asset을 Playwright inline harness로 실행했다. 실제 Vue/Vite/PrimeVue/AG Grid runtime E2E와 혼동하지 않는다.
## 검증
```bash
node scripts/validate-fe-reference.mjs
node scripts/validate-fe-state-navigation-v44.mjs
node scripts/validate-kbx.mjs
```
## v45 Safe Preference QA
- T01 `기본조건 저장`, `마지막 조회조건 기억` 실제 JavaScript 동작
- 판매채널/상태/오류유형만 저장하고 자유검색어는 저장하지 않음
- 저장값 allow-list 복원, 잘못된 값은 기본값으로 복구
- Light/Dark Theme와 개인화 UI 동시 검증
- 증적: `docs/evidence/v45-browser-preference-theme.json` (14/14)
## v46 Safe Workspace Resume QA
- clean Workspace tab만 `sessionStorage` 복원
- Query/Hash, Dirty Form/Grid 값은 복원 snapshot에서 제외
- Home `바로 시작``복원` 상태 표시
- active tab이 없는 Home에서도 첫 Workspace tab `tabindex=0`
- Storage API 차단 시 Home/Shell fail-soft
- KBX Business Light/Dark와 resume marker semantic parity
- 증적: `docs/evidence/v46-browser-resume-theme.json` (20/20)
- Preview: `previews/v46-home-resume-dark-1440x900.png`
## v47 Actionable Problem
T01에서 예외 주문을 선택해 출고지시하면 업무규칙 Problem을 인라인으로 표시하고 `문제 N건만 선택`으로 복구한다. 단순 성공 Toast로 거짓 완료시키지 않는다. Light/Dark는 동일 semantic state를 사용한다.
## v48 Template Completion QA
- T05 재고현황: 실제 창고/품목 검색, Loading, Empty, 조건 초기화, Master→Location→History
- T06 작업 Queue: 실제 작업자/통합검색/빠른필터, Selection, Empty Recovery
- T07 Reconcile: 실제 검색/불일치 필터, Selection, Reference 재처리 상태변경
- T08 Excel Import: 실제 Browser File input/Drop, `.xlsx/.xls`/20MB guard, 6-step visual flow
- Search Panel의 조회 버튼은 Enter/F3뿐 아니라 Mouse click도 동일 실행 경로를 사용한다.
- KBX Business Light/Dark semantic theme는 동일 업무 상태와 조작 계약을 유지한다.
- Browser 증적: `docs/evidence/v48-browser-template-completion.json` (30/30)
- Preview: `previews/v48-t05-inventory-dark-1440x900.png`, `previews/v48-t08-file-dark-1440x900.png`