# WMS-PICK-001 현장 수용 체크리스트

이 체크리스트는 디자인 리뷰가 아니라 실제 창고/PDA 수용 테스트 기준이다.

## 1. 장비

- 실제 사용 예정 산업용 Android PDA 최소 2종
- Bluetooth 또는 내장 scanner
- USB/keyboard-wedge scanner가 있는 경우 해당 장비
- 장갑 착용 상태
- 화면 밝기 30% / 100%
- 업무용 보호 케이스 장착 상태

## 2. Scanner

- 위치 barcode 30회 연속 scan에서 누락/중복 없음
- 상품 barcode 100회 연속 scan에서 누락/중복 없음
- scanner terminator가 Enter일 때 정상
- scanner가 빠르게 입력해도 buffer가 분리되지 않음
- 일반 수량 input에 focus가 있을 때 global capture가 문자를 가로채지 않음
- 잘못된 위치 barcode는 피킹수량을 변경하지 않음
- 잘못된 상품 barcode는 피킹수량을 변경하지 않음

## 3. 작업속도

측정 대상:

```text
위치 확인 → 첫 상품 scan
상품 scan → 화면 반영
한 line 완료 → 다음 지시 표시
```

정상 사내 Wi-Fi에서 사용자 체감상 별도 대기 동작이 생기지 않아야 한다. 숫자는 센터/장비/망을 실제 측정한 뒤 SLA로 확정한다. 임의의 200ms 같은 목표를 문서에서 먼저 고정하지 않는다.

## 4. 동일 Location

다음 line이 같은 location이면 위치 재-scan을 요구하지 않는지 확인한다.

```text
A-03-02 / 상품 A 완료
A-03-02 / 상품 B
```

→ 상품 B scan 단계로 바로 이동해야 한다.

Location이 달라질 경우에는 반드시 새 위치 scan을 요구한다.

## 5. 대량수량

- 상품을 한 번도 검증하지 않은 상태에서 `수량 직접 입력` 불가
- 상품 1회 scan 뒤 수량 직접입력 가능
- 현재 피킹수량보다 작은 값으로 조용히 되돌릴 수 없음
- 필요수량 초과 불가
- 정정이 필요한 경우 별도의 예외/관리자 절차로 연결

## 6. Network Dead Zone

실제 창고 음영구간에서 확인한다.

1. scan 요청 전 네트워크 단절
2. 요청 도중 단절
3. 서버 commit 후 응답 수신 전 단절
4. 재연결

기대결과:

- 성공 여부가 불명확한 command는 동일 Idempotency Key로 보관
- 다음 authoritative scan은 ACK 전까지 중지
- 연결 복구 후 순서대로 재전송
- 서버가 이미 처리했다면 이전 response replay
- 중복 picked_qty 증가 없음

`navigator.onLine`은 참고 신호일 뿐 서버 연결 성공을 보장하지 않으므로 실제 HTTP 결과를 기준으로 처리한다.

## 7. 중복 Scan

동일 물리 scan이 장비 문제로 두 번 입력되는 상황과 사용자가 실제로 같은 상품을 연속 2개 scan하는 상황을 구분한다.

클라이언트 시간 debounce만을 재고 정합성 장치로 사용하지 않는다. 서버 command idempotency가 최종 방어선이다.

## 8. Feedback

성공:

- 짧고 낮은 방해도의 sound
- 지원 기기에서는 짧은 vibration
- 화면 수량 갱신

오류:

- 성공과 명확히 다른 sound
- 지원 기기에서는 구분 가능한 vibration pattern
- 오류 원인과 다음 행동을 큰 텍스트로 표시

Sound/Vibration을 끈 단말에서도 시각적으로 업무가 완전해야 한다.

## 9. 예외처리

다음을 2~3 touch 이내에 등록 가능한지 확인한다.

- 실물 없음
- 수량 부족
- 위치 오류
- 상품 이상
- 바코드 문제

등록 후 정상 피킹을 계속 진행시키지 않고 작업이 BLOCKED/예외 Queue로 넘어가는지 확인한다.

## 10. 재현성

현장 문제 하나를 운영자가 다음 정보로 추적할 수 있어야 한다.

- task id / task no
- line id
- actor
- scan occurred_at
- server audit time
- barcode
- source
- idempotency key
- task version
- scan receipt
- exception
- outbox event

## 11. 통과 기준

기능이 작동하는 것만으로 통과시키지 않는다.

- 작업자가 별도 설명 없이 위치와 상품 scan 순서를 이해한다.
- 정상 scan 뒤 확인 버튼을 누르지 않는다.
- 동일 location 반복 scan이 없다.
- 오류 때문에 같은 정상 작업을 처음부터 다시 하지 않는다.
- 네트워크 불안정으로 중복 수량이 발생하지 않는다.
- 관리자에게 문의해야 하는 예외와 작업자가 즉시 고칠 오류가 구분된다.
