Skip to content

feat: AtchaV2 Phase 2 — CoreStorage 모듈 + 최근 검색 로컬 저장 - #340

Merged
YuGeonHui merged 3 commits into
env/devfrom
feat/v2-phase2-core-storage
Aug 22, 2026
Merged

feat: AtchaV2 Phase 2 — CoreStorage 모듈 + 최근 검색 로컬 저장#340
YuGeonHui merged 3 commits into
env/devfrom
feat/v2-phase2-core-storage

Conversation

@YuGeonHui

Copy link
Copy Markdown
Collaborator

개요

AtchaV2 Phase 2 — CoreStorage 모듈 신설 + 최근 검색 로컬 저장. CLAUDE.md 및 마스터 구현 프롬프트 문서 포함.

주요 변경

CoreStorage (신규 레이어 모듈)

  • KeyValueStore 프로토콜 + Codable 헬퍼, UserDefaultsKeyValueStore
  • KeychainStore — 레거시 키체인+메모리 캐시 패턴을 Mutex 기반 Sendable-clean으로 재작성

AtchaData

  • RecentSearchRepositoryImpl (최대 10개, 중복 시 최신 갱신, 최신순, 삭제 지원) + RecentSearchRecordDTO

문서

  • CLAUDE.md 및 AtchaV2 마스터 구현 프롬프트 추가 (docs/prompts/)

검증

  • 인메모리 KeyValueStore 스텁 기반 테스트 (실 UserDefaults 미사용, Swift Testing)

⛓️ 스택 PR: #339 머지 후 머지해주세요.

🤖 Generated with Claude Code

YuGeonHui and others added 3 commits August 22, 2026 13:11
- Domain: Place/LastRoute/AlarmInfo 엔티티, LastRouteSearchResult 정규화 enum,
  Repository·디바이스 포트 6종, UseCase 7종 (등록 순서·정규화 정책 포함)
- AtchaData: Route/Place/Alarm 엔드포인트, APIResponse envelope 해체 헬퍼,
  레거시 실측 DTO 이식(toEntity, KST 고정 파싱, mode unknown 폴백), RepositoryImpl 3종
- 테스트: Domain 정책 8개 + AtchaData 인라인 픽스처 28개 (Swift Testing)
- 미확정 입력 #3(빈 목록=serviceEnded 가정)·#4(클라 삭제 후 등록)는 TODO로 격리

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- CoreStorage 레이어 모듈 신설 (KeyValueStore 프로토콜 + Codable 헬퍼,
  UserDefaultsKeyValueStore, KeychainStore — 레거시 키체인+메모리 캐시
  패턴을 Mutex 기반 Sendable-clean으로 재작성)
- AtchaData에 RecentSearchRepositoryImpl (최대 10개, 중복 시 최신 갱신,
  최신순, 삭제 지원) + RecentSearchRecordDTO
- 테스트는 인메모리 KeyValueStore 스텁 (실 UserDefaults 미사용)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@YuGeonHui
YuGeonHui merged commit 157ec87 into env/dev Aug 22, 2026
1 check passed
@YuGeonHui
YuGeonHui deleted the feat/v2-phase2-core-storage branch August 22, 2026 11:40
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