Skip to content

feat: AtchaV2 Phase 10 — LA 라이프사이클 + 화면 (수명 연동 + 긴급도 색 + dismiss 감지) - #348

Merged
YuGeonHui merged 1 commit into
env/devfrom
feat/v2-phase10-la-lifecycle
Aug 23, 2026
Merged

feat: AtchaV2 Phase 10 — LA 라이프사이클 + 화면 (수명 연동 + 긴급도 색 + dismiss 감지)#348
YuGeonHui merged 1 commit into
env/devfrom
feat/v2-phase10-la-lifecycle

Conversation

@YuGeonHui

Copy link
Copy Markdown
Collaborator

요약

  • Domain: LastTrainActivityPort(LA 문서 시그니처) + LastTrainActivityState + 긴급도 3단계 임계 순수 함수(≤10분 임박/≤30분 주의 — 기존 배너 제안값과 일치) + 수명 정책 테스트 10종
  • 수명 연동: RegisterAlarmUseCase 성공(알람 선행 보장) → LA 시작 / CancelAlarmUseCase → LA 종료
  • App: LastTrainLiveActivityAdapter(actor) — Activity request/update/end, activityStateUpdates 관찰로 유저 dismiss만 기록(프로그램적 end는 관찰 선-해제), staleDate=출발 시각 재앵커, areActivitiesEnabled 가드
  • Widget: 잠금화면(노선명·시스템 타이머 카운트다운·긴급도 색 상시·"⚠ 당겨짐" 배지 슬롯·missed/serviceEnded 상태 문구) + DynamicIsland compact/expanded/minimal — ContentState만 소비, DS 토큰 브리지
  • LA 예약 업데이트 불가 제약(색 전환·배지 소멸은 앱 깨움 시점 근사)은 코드 주석 명시

검증

  • acceptance: generate ✔ / Debug ✔ / Stage ✔ / Domain 27 tests ✔ / CoreLiveActivity 4 tests ✔ / HomeFeature 15 tests ✔ (회귀)
  • 시뮬레이터 시연(잠금화면 LA·DI·취소 소멸)은 머지 전 세션에서 수행·보고

🤖 Generated with Claude Code

- Domain: LastTrainActivityPort(문서 시그니처) + LastTrainActivityState + 긴급도 3단계
  임계 순수 함수(≤10분 임박·≤30분 주의 — 기존 배너 제안값과 일치) + 수명 정책 테스트
- Register 성공→LA 시작(알람 선행 보장), Cancel→LA 종료 (activityPort 옵셔널 주입)
- App: LastTrainLiveActivityAdapter(actor) — Activity.request/update/end,
  activityStateUpdates로 유저 dismiss만 기록(프로그램적 end는 관찰 선-해제),
  staleDate=출발 시각 재앵커, areActivitiesEnabled 가드(알람만으로 동작)
- Widget: 잠금화면(노선명·타이머 카운트다운·긴급도 색·"⚠ 당겨짐" 배지 슬롯·상태별 문구)
  + DynamicIsland compact/expanded/minimal — ContentState만 소비, DS 토큰 브리지 경유
- LA 예약 업데이트 불가 제약(색 전환·배지 소멸은 깨움 시점 근사)은 코드 주석으로 명시

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@YuGeonHui
YuGeonHui merged commit 878070f into env/dev Aug 23, 2026
1 check passed
@YuGeonHui
YuGeonHui deleted the feat/v2-phase10-la-lifecycle branch August 23, 2026 02:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant