Files
superport_v2/doc/inventory_summary_audit_plan.md
JiWoong Sul 47cc62a33d feat(inventory): 재고 현황 요약/상세 플로우를 릴리스
- lib/features/inventory/summary 계층과 warehouse select 위젯을 추가해 목록/상세, 자동 새로고침, 필터, 상세 시트를 구현

- PermissionBootstrapper, scope 파서, 라우트 가드로 inventory.view 기반 권한 부여와 메뉴 노출을 통합(lib/core, lib/main.dart 등)

- Inventory Summary API/QA/Audit 문서와 PR 템플릿, CHANGELOG를 신규 스펙과 검증 커맨드로 업데이트

- DTO 직렬화 의존성을 추가하고 Golden·Widget·단위 테스트를 작성했으며 flutter analyze / flutter test --coverage를 통과
2025-11-09 01:13:10 +09:00

2.0 KiB
Raw Blame History

재고 요약 감사 로그 · Slack 알림 계획

원본 정의: ../superport_api_v2/doc/inventory_summary_audit_plan.md 프런트에서도 동일 정책을 참조하도록 요약본을 유지한다.

이벤트 개요

  • 엔드포인트: GET /api/v1/inventory/summary, GET /api/v1/inventory/summary/{product_id}
  • 이벤트 코드: inventory.summary.viewed (version 1.0)
  • 발행 채널: Kafka(선택), WebSocket(AuditEventStream)

Payload

필드 설명
actor_id 요청자 ID
filters page, page_size, warehouse_id, include_empty, sort, order, updated_since, event_limit, product_id
result_count 목록: items.len(), 단건: recent_events.len()
request_id 서버가 채번한 마이크로초 기반 상관관계 키
emitted_at UTC 기준 발행 시각

프런트는 필터 UI 상태를 서버와 동일하게 유지해 감사 로그와 UX 간 불일치가 없도록 한다.

Slack / PagerDuty 라우팅

시나리오 채널 레벨
정상 조회 #inventory-monitoring (옵션) INFO
권한 부족 (INVENTORY_SCOPE_REQUIRED) #inventory-alerts WARN / 5분 내 5회 → PagerDuty Low
스냅샷 지연 (INVENTORY_SNAPSHOT_NOT_READY) #inventory-alerts INFO / 10분 지속 → PagerDuty Medium
정합성 실패·데이터 불일치 #inventory-critical ERROR / 즉시 PagerDuty High

프런트 액션:

  • 권한 부족 시 AlertDialg + Slack 알림에 포함될 수 있는 컨텍스트(filters,actor_id)를 명시.
  • 스냅샷 지연 오류에서는 사용자에게 뷰 리프레시 절차 안내 메시지를 출력.

운영 체크리스트

  1. 배포 직후 script/refresh_inventory_mv.sh --database-url "$DATABASE_URL" 실행 기록을 Ops에 공유.
  2. Slack 로그 샘플을 QA와 함께 캡처해 PR에 첨부.
  3. 감사 이벤트 미수신 시 AuditEventStream 구독자 상태(프론트 Admin 콘솔) 확인.
  4. 월 1회 Ops와 정책 재검토, 필요 시 PagerDuty 라우팅/임계값 갱신.