Decision
transport, backend read-state, pagination persistence.
빨간 placeholder는 미구현 화면 목록이 아니라, 실제 backend 또는 native provider가 정해져야 provider-ready로 승격할 영역입니다. 현재 APP은 provider-pending, fallback, disabled reason, retry/offline surface로 사용자가 볼 수 있는 상태까지 닫았습니다.
Decision
transport, backend read-state, pagination persistence.
Decision
S3/presigned upload, OCR engine, offline queue persistence.
Decision
고객센터 URL/auth handoff, phone dialer, map deep link.
Decision
session provider, backend authorization, role approval policy.
provider가 없는 CTA는 숨기지 않고 provider-pending, disabled reason, fallback 중 하나로 귀결합니다.
채팅, 파일/OCR, 지도, 전화, 고객센터는 실제 외부 앱을 열지 않아도 Maestro와 screenshot evidence로 화면 상태를 검증합니다.
Kotlin Spring API, realtime transport, upload body, signed URL, read-state persistence가 정해지면 adapter 구현으로 승격합니다.
provider 선택 전 임의 deep link, 임의 realtime protocol, 임의 upload body, 임의 auth/session shape는 만들지 않습니다.

첨부/전화 provider 없이도 대기 상태와 disabled CTA를 노출.

실제 OCR provider 전에도 offline/retry branch를 설명.

운전자 계근 OCR 결과를 mock provider-state로 검증.

고객센터 URL 결정 전 provider-pending screen.

외부 지도 앱 실행 전 fallback surface.

실제 auth 전에는 invalid role fallback과 boundary 문서가 기준.
| 영역 | 현재 APP 상태 | 승격에 필요한 결정 | 관련 local report |
|---|---|---|---|
| Realtime chat | Chat wrapper, mock room/list/detail/send/read-state, attachment pending | transport protocol, read receipt persistence, backend pagination, upload adapter | common-chat/index.html |
| Upload / OCR | driver/processor proof upload, pending/error/offline/retry, OCR confirm | S3 또는 동등 provider, presigned body, OCR engine, confidence schema, offline queue | driver-transport/index.html, processor-weighing/index.html |
| External CTA | 고객센터 provider-pending, phone disabled CTA, map fallback | URL/auth handoff, phone masking/audit, map provider/deep link policy | external-cta-more/index.html |
| Backend/Auth/RBAC | role onboarding, invalid role fallback, mock boundary 문서 | session provider, approval flow, server authorization, RBAC response envelope | backend-auth-boundary/index.html |
| Operational exceptions | dispatcher conflict/cancel/reassign mock, processor replay/idempotency pending | conflict envelope, idempotency persistence, concurrency/replay policy | operational-edge-cases/index.html |