Shared Notification Shell

역할별 알림 read-state / badge / detail projection

공통 알림 shell은 배출자, 배차담당자, 운전자, 처리자 모두 같은 testID 계약을 사용합니다. 현재는 read-state summary, badge count, empty state, lifecycle event row, notification detail provider-pending projection까지 mock-first로 검증됐고, backend read-state persistence와 push provider는 후속 범위입니다.

Maestro: emitter-notifications Maestro: role-shell-coverage Maestro: lifecycle-chat-notification-proof
Read-state

Covered

전체/읽음/안 읽음 filter와 summary count.

Badge

Covered

bottom badge와 role shell badge contract.

Lifecycle row

Covered

dispatch/treatment lifecycle event projection.

Detail route

Covered

row tap 후 category별 related surface와 provider-pending CTA.

Persistence

Pending

backend read-state mutation, push subscription, server preference.

검수용 UX 흐름

1

알림 진입

각 role home 또는 bottom tab에서 {role}.notifications.screen으로 진입합니다.

2

read-state summary

{role}.notifications.read-state.summary와 badge count를 확인합니다.

3

filter

전체/읽음/안 읽음 filter는 list delta와 empty state를 보여줍니다.

4

lifecycle event

배차 확정, 처리 실적 등록 같은 cross-role event가 role별 notification row로 projection됩니다.

5

detail provider-pending

row tap은 {role}.notifications.detail.screen으로 이어지고, Android Back은 목록으로 돌아옵니다.

화면 evidence

emitter unread notification
Emitter unread

배출자 unread/read delta evidence.

emitter notifications summary
Emitter summary

read-state summary와 filter bar.

dispatcher notifications empty
Dispatcher empty

clean session empty state.

dispatcher notification read state
Dispatcher read-state

role shell coverage screenshot.

processor notifications empty
Processor empty

처리자 clean session empty state.

emitter notification detail provider pending
Notification detail

category, related surface, provider-pending CTA.

lifecycle notification proof
Lifecycle projection

event 이후 chat/notification proof.

검증 기준

분류증거검수 포인트
Maestroemitter-notifications, role-shell-coverage, lifecycle-chat-notification-proofread-state, badge, empty, lifecycle row, detail provider-pending, Android Back을 검증.
TestID{role}.notifications.*, {role}.notifications.detail.*role prefix 기반 공통 shell/detail contract.
남은 범위backend read-state mutation실제 읽음 처리 저장, push provider, server-side notification preference는 후속 계약.