Covered
전체/읽음/안 읽음 filter와 summary count.
공통 알림 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는 후속 범위입니다.
Covered
전체/읽음/안 읽음 filter와 summary count.
Covered
bottom badge와 role shell badge contract.
Covered
dispatch/treatment lifecycle event projection.
Covered
row tap 후 category별 related surface와 provider-pending CTA.
Pending
backend read-state mutation, push subscription, server preference.
각 role home 또는 bottom tab에서 {role}.notifications.screen으로 진입합니다.
{role}.notifications.read-state.summary와 badge count를 확인합니다.
전체/읽음/안 읽음 filter는 list delta와 empty state를 보여줍니다.
배차 확정, 처리 실적 등록 같은 cross-role event가 role별 notification row로 projection됩니다.
row tap은 {role}.notifications.detail.screen으로 이어지고, Android Back은 목록으로 돌아옵니다.

배출자 unread/read delta evidence.

read-state summary와 filter bar.

clean session empty state.

role shell coverage screenshot.

처리자 clean session empty state.

category, related surface, provider-pending CTA.

event 이후 chat/notification proof.
| 분류 | 증거 | 검수 포인트 |
|---|---|---|
| Maestro | emitter-notifications, role-shell-coverage, lifecycle-chat-notification-proof | read-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는 후속 계약. |