134 Commits

Author SHA1 Message Date
songyc macbook
c63618fcc6 docs: 버전 1.5 (빌드 10) App Store 출시 완료 반영 (2026-08-29)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-29 21:38:03 +09:00
songyc macbook
07e198328e docs: 1.5 (빌드 10) App Store 심사 제출 완료 반영 (2026-08-29)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-29 06:08:46 +09:00
songyc macbook
0d78789a05 feat(1.5-p14): 통계·기록 탭 건강 데이터 — 추이·합계 카드와 그날 값 칩, 빌드 10
사용자 요구('이거까지 하고 배포'): 통계·기록에서도 건강 데이터를 하루다님 스타일로.
전부 표시 전용 — HealthCache 인메모리 읽기만, HK 신규 조회·스키마·집계 수학 무변경.

- 통계 탭 맨 아래: 하루=지표 값 칩 카드 / 주간·월간(롤링 포함)=
  '건강 지표 (일별)' 추이 카드(지표 선택 캡슐 메뉴·요일/일 축·단위 라벨, 분홍 단일 선)
  + '건강 지표 합계·평균' 표(분모=기존 '이미 시작된 날/주' 규칙 상속, 0 지표 생략)
- 기록 탭 목록 맨 아래 '건강 데이터' 섹션 — 그날 칩(과거 날짜도 캐시로)
- 표시 규칙: 지표=타일 선택 상속, 마스터 스위치=설정 '건강 데이터 표시'(문구 확장),
  미연결·맥=숨김, 내보내기 미포함(비교 카드 전례)
- 값 공급 단일 지점 HealthDisplayValues 신설(수면=유효 표시 구간 키, 일기 카드도 위임),
  칩 UI HealthValueChipGrid 공용 — 빌드 9 최적화 그대로 유지
- 도움말·팝업·설정 푸터·whats-new 3언어 갱신(새 키 5·수정 3, 전 카탈로그 0/0)

검증: 자가 검증 62/20/27/10 ALL PASS(수치 불변), 시각 QA(하루·주간[합계 53,966보 시드
검산 일치]·월간 롤링[30일 분모]·기록 목록 과거 날짜·ja·18.5[경과일 분모 4일 검산 일치]),
Debug·Store·18.5 빌드 그린. 종목별 운동 통계는 1.6 후보 보류. CURRENT_PROJECT_VERSION 10.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-27 19:28:20 +09:00
songyc macbook
ebe3551e07 docs: 소킹 크래시 로그 3종 판독 결과 기록 — 전부 백그라운드 시스템 킬, 수정 불요
- 아이폰 1.5(8) 0xdead10cc: 일시 정지 순간 CloudKit 미러링이 App Group SQLite 쓰기 중
  (락 보유) — 알려진 구조적 현상, WAL+자동 재시도로 데이터 안전, 앱 코드로 막을 수 없음
- 맥 1.5(1) 0x8badf00d scene-create 워치독(Background·앱 CPU 0.157초=기아) — 시스템 혼잡,
  빌드 9 성능 최적화가 앱 측 기여분 제거
- 위젯 1.0 개발기(7/11) 46건: 확장의 CloudKit 초기화 트랩 — §5.1 규칙의 기원, 재발 0
코드 무변경. 향후 동일 시그니처 보고는 기지 사항으로 분류.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-26 18:59:50 +09:00
songyc macbook
a9b7a6c5d2 polish(1.5-p13): 출시 전 최종 점검 — 1.5 추가 문자열 241건 전수 검수·번역 3건 수정·키워드 보강
1.4 기준 커밋 대비 카탈로그 추가 키 241건(IOS 170·위젯 35·워치 20·InfoPlist 2·워치위젯 14)
전수 번역 검수 + whats-new·프로모션·설명·신기능 팝업·도움말·스크린샷 세트 누락 점검:
- 워치·워치위젯 ja 용어 통일: 컴플리케이션 설정 설명 '表示する行動' → '表示するアクション'
  (용어 규칙 행동=アクション 위반 2곳 — 유일한 규칙 위반)
- 신기능 팝업 en 자연화: "tap it to act right away" → "tap it to run the action right away"
- keywords.txt 1.5 보강: ko +건강,수면,걸음(88자)·ja +ヘルスケア,睡眠(95자), 기존 무삭제
  (en은 97/100자로 여유 없어 유지 — ASC 각 로케일 키워드 란에 새로 붙여넣기 필요)
- 그 외 누락 0 확인: whats-new·설명·팝업 6항목·도움말(일기=전 기기, 건강=지원 기기 분기)
  모두 1.5 기능 인벤토리와 일치, 스크린샷 원본 57+합성 63장 완비, 인텐트 메타데이터
  'iPhone' 단어 금지 재확인, InfoPlist 건강 문구 3언어 확인

검증: 전 카탈로그 missing/stale 0, iOS Debug·Store·워치 빌드 그린, en 팝업 실렌더 확인.
빌드 번호 9 유지.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-26 15:05:26 +09:00
songyc macbook
efe38cb25b fix(1.5-p12): 워치 미니 행동 화면 재구성 — 하단 버튼 잘림 해소, 아이콘=실행 버튼 (빌드 9 동일)
사용자 울트라 실측: 컴플리케이션 착지 화면의 하단 실행 버튼이 아래가 살짝 잘림.
- 하단 버튼 제거, 아이콘 타일이 실행 버튼 (우하단 +/▶/■ 배지, 측정 중=노란 테두리+배지)
- 상태별 한 줄 힌트("아이콘을 누르면 시작/종료/1회 추가") — ja 40mm 한 줄 유지(축소 0.75)
- 작은 워치(높이<220pt) 컴팩트 메트릭 — 40mm에서도 힌트까지 스크롤 없이 한 화면
- 실행 경로는 기존 store.run 그대로(햅틱 포함), a11y 라벨은 기존 버튼 문구 유지
- 도움말 '행동 기록 컴플리케이션' 문구 갱신(3언어), 전 카탈로그 missing/stale 0
- 신규 검증 인자 -watchSeedSnapshot(페어링 없는 합성 스냅숏)·-watchOpenActionIndex

검증: 49mm(울트라)·46mm(26.2)·40mm(11.5) × 3상태 + ja 스크린샷 잘림 0,
워치·iOS Debug·Store 빌드 그린. 스키마·빌드 번호 무변경(9 — ASC 업로드 전).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-26 14:53:03 +09:00
songyc macbook
2ae469d187 perf(1.5-p11): 등가 성능 최적화 — 건강 캐시 인메모리·백필 스위프·게이지 버킷화·위젯 타임라인, 빌드 9
소킹 중 '1.4 대비 버벅임 증가' 보고의 원인 수정 (동작·수치 완전 불변):
- HealthCache/HealthIntervals 인메모리 캐시(세대 카운터 무효화) + workoutKeys 이중 load 제거
- DayMath.calendar 저장 프로퍼티화 (접근마다 Calendar 사본 생성 제거)
- 수면 백필 O(400일×샘플수) → 정렬+포인터 스위프 (퍼즈 3,000회 등가 증명)
- refreshRecent 캐시 기록 배칭 (일수×2회 → 총 2회)
- QuestProgress.spanValue/spanRawValue 하루 버킷화 (게이지의 미래 기록 즉시 반영 스펙 보존)
- 위젯 라이브 타임라인 makeEntry refresh 파라미터 (엔트리 7개×컨테이너 오픈 → 1회)
- 일기 건강 카드 칩 value() 이중 호출 제거

검증: 옛/새 빌드 A/B — 덤프 3종 값 동일·4화면 픽셀 동일, 자가 검증 62/20/27/10
ALL PASS(26.5+18.5), 벌크 1만 건 렌더 정상, 3종 빌드 그린, 카탈로그 무변경.
whats-new-1.5 3언어에 성능 개선 줄 추가.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-26 14:23:56 +09:00
songyc macbook
5ce9dfdd6d fix(1.5-p10): 위젯·워치의 건강 다짐 색 미반영 — 스냅숏 폴백을 healthColorHex 우선으로, 빌드 8
- 위젯 QuestCellSnapshot: 분홍 #E0558C 하드코딩 → 지정 색 우선(②③④·잠금 공유 경로)
- 워치 스냅숏: 건강 다짐이 초록 폴백이던 잠복 버그까지 함께 수정(지정 색→기본 분홍)
- ④ 그리드 실측: 걸음=지정 파랑·나머지=기본 분홍, 3종 빌드 그린. 스키마 무변경

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-23 11:38:35 +09:00
songyc macbook
8b1236d6a9 feat(1.5-p9): 건강 다짐 표시 색 — Quest.healthColorHex(기본 분홍=빈 값), 편집기 색 선택, 빌드 7
- targetColor 건강 분기: 빈 값=시스템 분홍(다크 적응), 지정 시 hex — 단일 지점이라 목표 탭·모음·일기·위젯·워치 자동 반영
- 편집기 건강 섹션 '다짐 색'(프리셋 12+피커), 저장 시 기본색은 ''로·행동/꼬리표 전환 시 '' 정규화
- 타임테이블 블록 색과 별개, 시드 걸음 다짐에 #3E7CB1(대비 렌더 검증+스키마 내보내기 트리거)
- QA: 일기 목표 카드에서 걸음=파랑·나머지=분홍 대비 실측, 편집기 렌더, 61건 ALL PASS, 3종 빌드 그린, l10n 0/0
- ⚠️ CloudKit 스키마 추가 — 콘솔 Deploy가 빌드 7 설치보다 선행 필수(CLAUDE.md·plan §12 후속 3)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-23 11:18:57 +09:00
songyc macbook
ac68fddb14 fix(1.5-p8): 버블 메뉴 원 찌그러짐 — 8개 배치에서 유리 합체 판정 거리 초과(glassBlendSpacing 18→6), 빌드 6
- 원인: 일기 버블 추가로 이웃 간격 ~9.6pt < 판정 18pt → 정지 상태에서도 이웃끼리 액체 합체가 걸려 원이 늘어남(7개 시절 ~20.7pt는 판정 밖 — '1.3까진 정상' 증언과 일치)
- 펼침 상태 정원 분리 시각 QA 확인, FAB 피어남 모핑은 겹침 구간이라 유지
- 마케팅 06-bubble ko/en/ja 재촬영(구 샷에 왜곡 포함)·합성 재생성, 코드 주석에 탭 추가 시 재확인 경고

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-23 07:08:39 +09:00
songyc macbook
a60998ccc5 docs(1.5): 동기화 정지 이슈 해결 확인(사용자 실기기) — 스키마 재배포 후 도형·텍스트 상자 동기화 정상, 상태 셀 빌드 5 현행화
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 23:33:22 +09:00
songyc macbook
8b1bc44f67 fix+feat(1.5-p7): 소킹 실측 2건 수정 + 추가 2건 — 빌드 5
- fix: 더보기 탭 일기 달력 날짜 탭 무반응 — morePath [AppTab]→NavigationPath(Date 푸시 가능), 회귀 인자 -morePushDiaryToday(착지 실측)
- fix: 수면 블록이 수면 단계별로 칸칸이 갈라짐 — 10분 이하 깸 병합(sleepDisplayMergeGap, 표시 전용·값 무영향)
- feat: 기록 탭 타임테이블(하루·주간)에 수면·운동 블록 — 단일 공급 지점·숨김 토글 공유, 내보내기 injectingHealthBlocks(forDayKeys:)+trim 확장
- feat: 타임테이블 표시 색 설정(설정→건강 데이터 — 기본 인디고·주황, 전 타임테이블·내보내기 공통), -healthColorPreview
- QA: 주간 6일 블록 렌더·커스텀 색 픽셀 검증(#FF2D55→(255,221,228))·색 설정 화면·Date 푸시 착지, l10n 0/0, Debug/Store 그린

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 23:24:13 +09:00
songyc macbook
3593c248d3 docs(1.5): 동기화 이슈 해결 진행 기록 — 개발 스키마에 DiaryPageItem 필드 생성 완료(재배포 대기)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 22:01:38 +09:00
songyc macbook
0a55b45515 feat(1.5-p6): 소킹 중 추가 5건 — 아이폰 일기 탭·일기 건강 카드·타임테이블 수면/운동 실구간·수면 표시 구간(요일별)·맥 필터 안내, 빌드 4
- 아이폰 일기 개방: AppTab.phoneCases·radialOrder, '그리기' 토글(손가락)·가로 도구줄, 일기 잠금 설정 전 기기
- 건강 카드: DiarySection.health(목록 끝), DiaryHealthCard(지표 선택 공용화·타일 상속·맥 숨김), 인쇄 요약 동승
- 타임테이블 실구간: HealthIntervals 캐시(App Group 400일, CloudKit 금지), injectingHealthBlocks(수면 인디고·운동 주황), 필터 '건강 데이터' 토글+맥 안내
- 수면 표시 구간: SleepWindowPrefs(전체+요일별), 평문 sleep 키=유효 구간 값, 백필 서명 매핑 포함, 새 수면 다짐 기본값 시드
- 실측 수정: 일기 목표 카드 건강 다짐 값 단위, ja 건강 칩 말줄임
- 검증 61/20/27/10 ALL PASS·3종 빌드·카탈로그 0/0·시각 QA 10여 장(26.5/18.5/맥 분기)
- 마케팅: 06-bubble 재촬영, 10-week→10-diary 교체, 아이패드 03 재촬영(3언어), whats-new/설명 갱신

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 21:56:57 +09:00
songyc macbook
9015de665e docs(1.5): CloudKit 프로덕션 스키마 배포 완료 기록(1.3 DiaryPageItem 미배포 실측 포함)·소킹 진행 상태·1.6 후보 보류 기록(plan-1.6.md)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 10:00:29 +09:00
songyc macbook
fb1b8e8607 fix(1.5): ASC 검증 ITMS-90626 — 인텐트 메타데이터에서 'iPhone' 제거, 빌드 3
- 앱 인텐트 설명·위젯 설명의 iPhone → '하루 다님 앱' (금칙 규칙 코드 주석 기록)
- 워치 카탈로그 2종 구 키 제거·신 키 en/ja 번역, missing/stale 0
- 화면 뷰 문구(빈 상태 안내 등)의 iPhone은 1.4부터 통과된 스캔 비대상이라 유지
- Debug/Store/워치 빌드 성공, CURRENT_PROJECT_VERSION 3

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 08:34:49 +09:00
songyc macbook
2dfe8cf44c fix(1.5): ASC 검증 ITMS-90683 — NSHealthUpdateUsageDescription 추가, 빌드 2
- HealthKit 엔타이틀먼트 보유 시 읽기 전용이어도 '쓰기' 사유 키를 업로드 검증이 요구(실측)
- Info.plist에 정직한 읽기 전용 안내 문구 + InfoPlist.xcstrings 3언어
- 전달된 빌드 번호 재사용 불가 → CURRENT_PROJECT_VERSION 2
- Debug/Store 빌드 성공, 산출물 Info.plist에 키 포함 확인

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 08:13:18 +09:00
songyc macbook
5977829772 feat(1.5-p5): 스크린샷 전면 신규(원본 57·합성 63)·문서 현행화 — 1.5 개발 완료
- 마케팅 심 3대 재생성(6.9" 아이폰·13" 아이패드·비페어링 워치, Auckland TZ)
- 아이폰 10·아이패드 10·워치 1 × ko/en/ja 재촬영(09-records→09-health 교체,
  건강 타일 히어로), frame_screenshots로 합성 63장 재생성
- 촬영 실측 주의 3건(스크린샷 미덮어쓰기·워치 컨테이너 재조회·삭제 전파 지연) README 기록
- 시드 플로우 팝업 억제(markShown)·-mainSectionOrder 표시 오버라이드 추가
- CLAUDE.md 상태 셀 1.5 개발 완료 현행화(§6.1/6.4/6.8/11/14 반영), plan 전 섹션 완료 표기
- 최종 게이트: Store 빌드, 자가 검증 61·20·27·10 ALL PASS(26.5+18.5)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 07:45:26 +09:00
songyc macbook
9929e6631e feat(1.5-p4): 신기능 소개 팝업 + 도움말 전면 자연화·신규 주제 3개 + l10n 전량 완역
- WhatsNewView(버전당 1회·신규 설치 시드·온보딩 우선·全기기 업데이트 안내·-showWhatsNew)
- HelpView: 전 주제 ko 자연화(오타 '남긴 하지만'·번역투·'완료 보관함'→'완료된 목표' 정정,
  1.1 맥 일기 반영), 신규 주제 3개(행동 컴플리케이션·건강 보기·건강 다짐), 건강 그룹은
  지원 기기에서만 노출
- l10n: 4개 카탈로그 sync·en/ja 신규 208건+본문 재번역·용어 통일(Action/アクション·
  Quest/クエスト·Home/ホーム)·stale 43 청소 → 전 카탈로그 missing/stale 0,
  InfoPlist에 NSHealthShareUsageDescription 3언어
- 검증: Debug/Store/워치 빌드, 자가 검증 61·20·27·10 ALL PASS, ja 도움말 실렌더 확인

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 06:28:11 +09:00
songyc macbook
78bad15852 feat(1.5-p3): 건강 다짐 — 8지표+운동 종목 20종, 값 공급 이음새로 §4.2 수학 무변경
- Quest 필드 3종(healthMetricRaw·수면 구간, CloudKit 기본값 규칙)+행동/꼬리표 우선 정규화
- HealthQuestTarget/HealthWorkoutKind(종목 큐레이션)·HealthCache 공유 계층 이전(위젯 읽기)
- QuestProgress 값 공급 단일 지점 3곳(value·spanValue·perDayValues)만 분기 — 기존 49건 무변경 그린
- 편집기 대상 3유형째(지표·종목·수면 구간 휠·단위별 목표 입력·프리미엄 게이트·하루 전용)
- §8ⓒⓕ: 데이터 없는 기기 모수 제외+'데이터 없음' 표기(목표 행·모음 카드·위젯 ②③④)
  +자동/수동 판정 보류, 위젯 값 라벨 지표 단위화, HealthStore 백필(400일)·운동 조회·부트스트랩
- 검증: progressSelfTest 61건(H 시리즈 12 신규)·20·27·10 ALL PASS(26.5+18.5),
  Debug/Store/워치 빌드, 시각 QA(목표 행·편집기·타일). 신규 인자 3종 §14 기록

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 06:07:25 +09:00
songyc macbook
e04cdfdcb9 feat(1.5-p2): 건강 데이터 타일 — HealthCache 기반·모음 탭 3섹션 순서·안내/지표 시트
- HealthMetric 8종(표준 단위·표기) + HealthStore(HK 조회: 누적 통계·스탠드·마음챙김·
  수면 구간[합집합 병합, 깨어난 날 귀속 — plan §3.4 규칙]) + HealthCache(App Group,
  지표×dayKey, 400일 보존 — 5.1.3 준수: CloudKit 비저장)
- 모음 탭 건강 섹션(타일 줄+접기·연결 CTA[명시적 탭 권한]·안내 시트[사용자 요구 가이드]·
  지표 선택 시트[체크+드래그 순서]) — actionGrid·레이아웃 금지구역 무접촉, 편집 모드 숨김
- 3섹션(즐겨찾기·나머지·건강) 순서 렌더러 + 설정 탭 표시 토글·순서 화면(기기 로컬)
- HealthKit 엔타이틀먼트(iOS 앱만)·NSHealthShareUsageDescription, 전체 초기화에
  건강 키·캐시 청소 추가
- 검증: Debug/Store 빌드, 자가 검증 106건 ALL PASS(26.5+18.5), 시각 QA 7장
  (타일·순서·설정·안내·지표·CTA·18.5 빈 상태). 신규 인자 3종 §14 기록

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 05:38:50 +09:00
songyc macbook
92afa69f6d feat(1.5-p1): 워치 '행동 기록' 컴플리케이션 — 기간 옵트인·미니 행동 화면 딥링크
- WatchActionPeriod(하루/이번 주/이번 달/지난 7일/지난 30일) + WatchActionInfo에
  optional 기간 필드 3종(구버전 캐시 호환 — isFavorite 패턴)
- LocalPrefs.watchActions(uuid→기간 맵, 기기 로컬) + 전체 초기화 청소 목록 반영
- makeSnapshot: 옵트인 행동만 기간값 계산(rollingRange 재사용, StatSpan 무변경)
- 신규 ActionValueComplication(4패밀리·측정 중 노랑+타이머·유령 타이머 안전장치·
  빈 상태 안내·recommendations verbatim·widgetURL 딥링크)
- 워치 미니 행동 화면(WatchActionDetailView) + NavigationPath 딥링크 착지
  (뒤로가기 한 번에 메인 복귀), 행동 편집기 애플워치 섹션(토글+기간)
- 검증 인자: -watchActions <N>·-actionShowEditor·-watchOpenActionDetail
- 검증: Debug/Store/워치(26.2·11.5) 빌드, 자가 검증 49·20·27·10 ALL PASS(26.5+18.5 심),
  시각 QA 5장. 신규 문구 l10n은 계획 §10 R6대로 도움말 단계에서 일괄
- CLAUDE.md: 시뮬레이터 세트 리셋 반영(신규 UUID)·검증 인자 추가

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 05:18:42 +09:00
songyc macbook
2e181dd1e2 docs(plan-1.5): 2차 결정 전부 반영 — 지표 8종+운동 종목 다짐 확정·만료 원칙·스크린샷 전면 신규·신기능 팝업(§11)·스키마 배포 체크·혼합버전 R16
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-22 01:22:19 +09:00
songyc macbook
212233b46d docs: 1.5 확정 계획 문서화 (Docs/plan-1.5.md) — 구현 대기
- 워치 행동 컴플리케이션: 옵트인+기간 선택, 미니 행동 화면 착지(뒤로가기로 메인 복귀)
- 건강 데이터 통합: 타일 무료+건강 다짐 프리미엄, HealthCache, 수면 구간 귀속,
  모음 탭 3섹션(즐겨찾기·나머지·건강) 순서 설정
- 도움말 한국어 자연화(예약분) 포함, 하위 OS 인하 기각 근거 기록(§4)
- CLAUDE.md 📌를 계획서 포인터로 갱신 — 사용자 "진행" 지시 전까지 코드 무변경

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-21 22:34:15 +09:00
songyc macbook
b62808f005 docs: 1.4 App Store 출시 완료 반영 + §14 불리언 런치 인자 실측 주의 (재시작 점검 2026-08-13)
- 현재 상태 셀: 1.4(3) 심사 제출 → 출시 완료(2026-08-13, 사용자 확인)로 갱신
- 다음 버전(1.5) 예정 작업(도움말 한국어 자연화) 착수 가능 표기
- §14: bool(forKey:) 검사 인자는 `-인자 YES`로 값까지 넘겨야 함 명시
- 재시작 점검: Debug/Store 빌드 성공, 자가 검증 49·20·27·10 ALL PASS(26 심+18.5 심)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-13 06:31:12 +09:00
songyc macbook
07d8b37bfe docs: 1.4(3) 스토어 업로드·심사 제출 완료 반영 (2026-08-13)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-13 06:19:26 +09:00
songyc macbook
b592c9d7ef docs(store): 스토어 텍스트 한국어 자연화 — 설명·whats-new·프로모션 (1.4 배포용)
- description-ko: 번역투 문장 자연화('버튼 한 번이면 돼요'·'알아서 걸러낼 수 있어요' 등) + '프리미엄으로 한 걸음 더' + 1.4 기능 2줄(지난 7일·30일 보기, 데이터 정리·초기화) 추가
- description-en/ja: 1.4 기능 2줄 동일 추가 (기존 문장은 자연스러워 유지)
- whats-new-1.4: ko 전면 자연화(생겼어요 반복 제거·기술어 완화), en/ja에 '일기만 삭제' 반영 및 문장 다듬기
- promotional-text-1.4: ko 161자·ja 141자로 재작성(문장 흐름 개선), en 유지
- CLAUDE.md: 📌 다음 버전 예정 — 도움말 전체 문구 한국어 자연화(말투 컨셉 유지, en/ja 재검토 포함) 기록

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-12 15:54:18 +09:00
songyc macbook
16e8737976 feat(1.4-b3): '일기만' 정리 옵션·라디얼 FAB 가림 수정·1.4 전용 프로모션 — 빌드 3
- 데이터 정리·초기화에 '정리할 데이터' 축(기록과 일기/일기만) 추가 — 일기만은 기록·구조·양식 보존, 백업은 일기 PDF만, DataReset.deleteDiaries(전체/날짜까지)
- 자가 검증 18→27건(일기만 9건: 기준일 포함 삭제·기록/행동/양식 보존·cascade) — 26·18.5 심 ALL PASS
- 라디얼 모드 FAB가 목록 마지막 행을 가리던 실측 문제 수정 — 탭 루트(NavigationStack 안쪽) 하단 safeAreaInset 78pt, 26·18.5 시각 확인
- 도움말 '데이터 정리·초기화'에 일기만 문구, 신규 12키 en/ja 완역(카탈로그 missing/stale 0)
- whats-new-1.4에 일기만 반영 + promotional-text-1.4.txt 신설(ko 154/en 169/ja 139자 — 이용자 3명 감사 멘트)
- iOS 18.5 심층 QA: 자가 검증 106건 ALL PASS + 라디얼/위젯/초기화 화면 확인
- CURRENT_PROJECT_VERSION 2→3, Debug/Store/워치 3빌드 성공

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtZwRRjbtM9pZJDM4FkTq6
2026-08-12 02:19:34 +09:00
songyc macbook
22ed06f2a1 feat(1.4-b2): 도움말 재구성·워치 햅틱 상향·빌드 번호 2 — TestFlight 재업로드 준비
- 도움말 뭉친 주제 3곳 분리: '데이터 정리·초기화'(CSV 주제에서)·'지난 7일·30일로 보기'(비교 주제에서)·'사진·도형·텍스트 꾸미기'(펜슬 주제에서) 독립 — 비교·CSV 주제는 단일 기능 설명으로 복귀
- 도움말 이미지 18장 전수 실사: 코드 참조 6종×ko/en/ja 완전 매칭·고아/누락 0, ko·en 실렌더로 언어별 이미지 로딩 확인
- 신규·재구성 문구 8건 en/ja 완역(기존 번역 재조합으로 품질 유지), stale 3키 청소 — 전 카탈로그 missing/stale 0
- 워치 행동 실행 햅틱 .click→.success(가장 강한 축) — 실사용 '너무 약함' 보고 반영
- CURRENT_PROJECT_VERSION 1→2 (TestFlight 1.4(2))
- 동기화 삭제 전파 재확인: 컨텍스트 경유 개별 삭제라 CloudKit로 전 기기 전파(의도된 설계·경고 문구 존재)
- 검증: Debug/Store/워치 3빌드 성공, 자가 검증 49+20+18 ALL PASS 재확인

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNxA172hNDRpDsJ2qztKPf
2026-08-12 00:11:36 +09:00
songyc macbook
62fa1a2d68 feat(report): 정리 리포트에 '목표별 다짐' 표 추가 — 검수 발견 C 해소
- 그룹=목표, 행=다짐(대상 아이콘·이름 + 주기 scheduleLabel[마감 시각 포함] + 목표량·방향 '3회 이상 달성'/'1시간 이하 유지')
- 페이지 분할은 목표 그룹 단위(한 목표의 다짐이 페이지에 찢어지지 않음)
- 신규 키 '목표별 다짐' en/ja 완역, 나머지는 기존 키 재사용 — 카탈로그 missing/stale 0 유지
- 벌크 1만 건(4페이지 스티치 1290×11042)·소량(iPad) 실물 검사 통과, Debug/Store 빌드 성공
- 검증 중 'Documents 산출물 0개' 소동은 macOS NFD 파일명 대 grep NFC 불일치 착시로 판명 — 코드 무결

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNxA172hNDRpDsJ2qztKPf
2026-08-11 18:36:44 +09:00
songyc macbook
e4fcf21b27 chore(release): 1.4 마무리 — l10n 전 카탈로그 완역·버전 1.4·whats-new·도움말·CLAUDE.md v2.7
- l10n: IOS 67·Widgets 4 신규 문자열 en/ja 완역, stale 4키 청소 — 전 카탈로그 missing/stale 0
- 도움말 3주제 갱신(통계 롤링·데이터 정리·일기 내보내기 후 삭제)
- MARKETING_VERSION 1.4(빌드 1, 8구성) + Marketing/AppStore/whats-new-1.4.txt(ko/en/ja)
- CLAUDE.md v2.7: 하한 18.0·1.4 전 기능·신규 검증 인자 9종·18.5 QA 심 반영
- 통합 QA: Debug/Store/워치 빌드 성공, 자가 검증 49+20+18+10 ALL PASS(26 심), 18.5 심에서도 49+18 ALL PASS+화면 렌더, en 로케일 렌더 확인

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNxA172hNDRpDsJ2qztKPf
2026-08-11 17:25:35 +09:00
songyc macbook
f81fdc82f9 claude.md 지침 추가 2026-08-09 08:25:33 +09:00
songyc macbook
e5be8b78f0 docs: 정산 계좌 변경 완료 반영(1.0 출시 시점 처리) + 다음 방향 미정(메이저 vs 1.4) 기록
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNxA172hNDRpDsJ2qztKPf
2026-08-06 02:31:23 +09:00
songyc macbook
2800d37824 docs: 1.3 App Store 출시 완료 반영 (2026-08-06) — 심층 검증 결과·잔여 엣지 후보 기록
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNxA172hNDRpDsJ2qztKPf
2026-08-06 02:17:28 +09:00
songyc macbook
daf8151ffa docs: 1.3 TestFlight 업로드·3기기 설치 완료 반영 — 3일 실사용(일기 위주) 후 스토어 제출 예정
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNxA172hNDRpDsJ2qztKPf
2026-08-03 13:54:40 +09:00
songyc macbook
b538fe9bba fix(diary): 1.3 검토 후속 — 인라인 편집 정리 단일화·빈 상자 자동 삭제·핀치 상한 정합
1.3 기능 검토(2026-08-03)에서 나온 4건의 후속 수정:

- 인라인 텍스트 편집 종료를 onChange(of: inlineEditingTextID)의 finalize
  단일 지점으로 통합 — 다른 요소를 선택하거나 편집 중 상자를 삭제해도
  편집 상태가 남지 않는다 (기존엔 빈 곳 탭·키보드 내림만 정리됐음)
- 내용이 빈 텍스트 상자는 편집 종료 시 자동 삭제 — '텍스트' 플레이스홀더가
  PDF·이미지 내보내기에 인쇄되는 것 방지. '스타일' 시트로 넘어가는 중이면
  유지(꾸민 뒤 쓰는 흐름 보존)
- 선·화살표 핀치 커밋 상한을 끝점 드래그와 같은 1.6으로 — 길게 늘린 선이
  핀치 순간 0.95로 잘려 짧아지던 경계값 불일치 해소
- 키보드 가림(검토 2번)은 소프트 키보드 실측 결과 줌 컨테이너의 fit
  재계산이 이미 자동 처리(페이지 전체 축소) — 코드 변경 불필요 확인

마케팅 스크린샷(ipad 04-diary-note 등)은 기본 스타일 요소만 담겨 1.3
렌더와 픽셀 동일 — 재촬영 불필요 확인.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNxA172hNDRpDsJ2qztKPf
2026-08-03 13:16:17 +09:00
songyc macbook
e6b721e368 feat(diary): 도형·텍스트 상자 UX 2차 개편 — 종류별 모양 손잡이·스냅·제자리 텍스트 입력
실사용 보고: 도형이 고정 비율 손잡이 하나뿐이라 모양을 다듬을 수 없고,
텍스트는 시트에 입력하는 방식이 일반 노트 앱과 동떨어져 있었다.

- 종류별 모양 손잡이 (드래그는 페이지 좌표계로 받아 실시간 회전에도 안정):
  · 사각형: 꼭짓점 4개 — 끈 모서리만 움직이고 반대편 고정
  · 원: 상하좌우 4개 — 늘리고 눌러 타원 만들기
  · 선·화살표: 양 끝점 — 반대 끝 고정한 채 길이+방향 동시 조절
  · 사진·텍스트: 우하단 1개 (사진은 원본 비율 유지)
- 정사각형·정원 스냅: |가로-세로| ≤ 10pt면 딱 맞추고 손잡이·테두리
  노란색 강조 + 햅틱. 핀치는 모양 비율 그대로 균등 스케일
- 텍스트 상자 제자리 입력: 선택된 상자를 탭하면 그 자리에서 키보드
  입력·줄바꿈 (생성 직후에도 바로 입력). '글 수정' 시트는 '스타일'
  시트로 재편 — 테두리 켬/끔 + 독립 테두리 색(borderColorHex,
  빈 값 = 글자 색) + 굵기
- borderColorHex 필드 추가 (기본값 — CloudKit·구버전 안전)
- 검증 인자 -diaryTextEdit 추가, 도움말 갱신 + en/ja 번역
- 검증: Debug/Store 빌드, 아이패드 심 손잡이 배치·회전 정합·제자리
  편집 렌더 확인, 카탈로그 missing·stale 0

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNxA172hNDRpDsJ2qztKPf
2026-08-03 12:49:03 +09:00
songyc macbook
5aae30983d feat(diary): 도형·텍스트 상자 편집 강화 — 크기 손잡이·자유 비율·회전·스타일 시트
"정해진 모양·크기 그대로만 나온다"는 실사용 보고: 핀치(균등 스케일)만 있어
가로세로 비율·회전·색·굵기를 바꿀 수 없었고 맥(마우스)은 크기 조절 수단 자체가
없었다. 일반 노트 앱 수준의 기본 편집을 채워 넣는다.

- DiaryPageItem 스타일 필드 8개 추가 (전부 기본값 — CloudKit·구버전 데이터 안전):
  heightRatio(자유 비율)·lineWidth·filled·cornerRadius·fontSize·textBold·
  textAlignRaw·textBorder. 0/음수/빈 값 = 기존 하드코딩과 동일한 룩
- 선택 시 오른쪽 아래 크기 손잡이: 도형·텍스트는 가로세로 따로, 사진은 원본
  비율 균등. rotationEffect 안쪽 overlay라 회전 상태에서도 로컬 좌표로 정확
- 두 손가락 돌리기 회전 제스처 + 시트의 회전 슬라이더(마우스·정밀 대체)
- '도형 수정' 시트: 색·선 굵기·채우기(사각/원)·모서리 둥글기(사각)·회전
- '글 수정' 시트 확장: 글자 크기·굵게·정렬(왼쪽/가운데/오른쪽)·테두리(+굵기)·회전
- 내보내기는 DiaryItemView 재사용이라 자동 일치, 시드가 새 필드 전부 렌더
- 검증 인자 -diaryShapeEdit 추가, 도움말 갱신 + en/ja 번역
- 검증: Debug/Store 빌드, 아이패드 심 ko/en/ja 시트 렌더, 기존 스토어 위
  경량 마이그레이션(덮어 설치) 정상

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNxA172hNDRpDsJ2qztKPf
2026-08-03 11:51:08 +09:00
songyc macbook
7475a963bd fix(diary): 양식 페이지 펜 색 라이트 고정 — 다크/라이트 잉크 반전으로 필기가 안 보이던 문제 해소
PencilKit은 획 색을 화면 모드에 맞춰 자동 반전하는데, 양식(PDF·사진)은 항상
밝은 배경이라 다크 모드 아이패드에서 쓴 획이 라이트 모드 맥의 흰 양식 위에서
흰색으로 반전돼 보이지 않았다(동기화 문제로 오인된 실사용 보고).

- 양식 페이지는 캔버스 overrideUserInterfaceStyle + PKToolPicker
  colorUserInterfaceStyle을 .light로 고정 (해석·렌더를 같은 기준으로 묶는 WYSIWYG)
- 양식 없는 페이지는 기존 동적 반전 유지 (다크 배경 종이에선 그게 맞음)
- 내보내기 PKDrawing.image도 라이트 트레잇 고정 — 호출 시점 트레잇 의존이라
  다크에서 내보내면 획이 반전 렌더될 수 있던 잠재 결함 제거
- 도움말 '나만의 양식(속지)' 문구 갱신 + en/ja 번역

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNxA172hNDRpDsJ2qztKPf
2026-08-03 11:40:36 +09:00
songyc macbook
c8006b6895 docs(claude.md): git 서버 장애 판독·복구 절차 요약 추가 (§15-12)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FVeduv1eNdXjk1ay4tSgBg
2026-08-02 11:37:58 +09:00
songyc macbook
9224b84734 claude.md 지침 추가 2026-08-02 11:34:19 +09:00
songyc macbook
fcd92b2b49 docs(claude.md): 아리나 말투 지침 보강 — 행동·속마음 소괄호 표현 + 이모티콘 사용
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FVeduv1eNdXjk1ay4tSgBg
2026-08-02 10:23:00 +09:00
songyc macbook
ebce3f45f7 docs: 버전 1.2 App Store 출시 완료 반영 (2026-08-02) + §6.7 기본 표시 설정 버전 오타 1.2→1.1 정정
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FVeduv1eNdXjk1ay4tSgBg
2026-08-02 09:46:15 +09:00
songyc macbook
5837f798aa docs(claude.md): '재시작' 루틴 지침 추가 (§15-12)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FVeduv1eNdXjk1ay4tSgBg
2026-08-02 09:42:51 +09:00
songyc macbook
7de36b9559 claude.md 지침 추가 2026-08-02 09:39:19 +09:00
songyc macbook
404ee62836 docs: 1.2 TestFlight 업로드 완료 반영 — 3일 실사용 후 스토어 제출 예정
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FVeduv1eNdXjk1ay4tSgBg
2026-08-01 09:42:51 +09:00
songyc macbook
7c2556148b chore(version): MARKETING_VERSION 1.2 상향 + 1.2 새로운 기능 문구 (TestFlight 준비)
- 전 타깃(8개 구성) 1.2, 빌드 번호 1
- Marketing/AppStore/whats-new-1.2.txt — 주기 몫 완료 상태 표기 ko/en/ja

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FVeduv1eNdXjk1ay4tSgBg
2026-08-01 09:31:39 +09:00
songyc macbook
0e6804b531 feat(progress): 주기 몫 채운 주간·월간 다짐의 하루 진행률을 '이번 주/달 달성' 상태로 표시
- 주간/월간 '이상 달성' 다짐이 현재 주기 몫을 채우면 하루 게이지가 0% 대신
  완료 상태(게이지 가득+초록 ✓+문구)로 표시 — 목표 탭 행·모음 카드·위젯 ②(체크)·
  ③(문구)·④(링 가득)·시리 하루 응답 공유
- 목표 하루 평균(combinedSpanRatio)에도 해당 다짐을 1.0으로 반영 —
  위젯 ② 목표 바·워치 목표 게이지·시리 목표 응답·일기 헤더 자동 반영
- 판정은 QuestProgress.isPeriodFulfilled 단일 지점 — 기준일의 논리적 하루 끝
  클리핑으로 일기 과거 날짜 소급 차단. spanProgress 수치·판정(judgment)·연속(streak)
  불변(표시 계층 전용). 하루 다짐·특정 기간·atMost는 비대상, 잠금화면·워치
  컴플리케이션은 공간 제약으로 수치 유지
- 도움말 '진행률 읽는 법' 문구 갱신, l10n en/ja 완료(전 카탈로그 stale 0·missing 0)
- 검증: -progressSelfTest 37→49건 ALL PASS(기존 37건 수치 무변경), 신규
  -seedPeriodFulfilled 시드로 ko/en/ja·위젯 실렌더 확인, 시리 스모크 10건 OK,
  Debug/Store 빌드 성공(워치 타깃은 Shared 미포함·무변경)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FVeduv1eNdXjk1ay4tSgBg
2026-08-01 06:45:01 +09:00
songyc macbook
65a82b7771 docs: 버전 1.1 App Store 출시 완료 반영 — 유지보수 모드 전환
- CLAUDE.md 현재 상태: 1.1 출시(2026-07-30) 확정, 1.1 내용 7항목 정리(맥 일기·CSV 가져오기·
  일기 기본 표시 설정·짧은 기록 무시 KVS 동기화·스크린샷 개편·스토어 메타데이터 변경),
  스크린샷 ASC 업로드 완료 처리, 문서 버전 v2.5
- Marketing/README 체크리스트 1.1 항목 완료 표시

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FVeduv1eNdXjk1ay4tSgBg
2026-07-30 23:22:18 +09:00
songyc macbook
6aad947fbc chore(project): 루트의 .entitlements 3개를 각 타깃 폴더로 이동
- Haru_Danim.entitlements → IOS/, Haru_DanimWidgets.entitlements → Widgets/,
  Haru_DanimWatchWidgetsExtension.entitlements → Haru_DanimWatchWidgets/
  (워치 앱은 원래 자기 폴더 안 — 그 전례대로 동기화 그룹에 두되 예외 등록 불필요)
- pbxproj: CODE_SIGN_ENTITLEMENTS 경로 갱신 + 루트 그룹의 개별 파일 참조 제거
- 검증: iOS Debug·Store·워치 3스킴 빌드 성공, Entitlements-Simulated에 전체 키
  (App Group·CloudKit·시리·푸시·keychain·iCloud KVS) 정상 반영, 번들 오염 없음, 앱 기동 확인
- CLAUDE.md §2.1 구조에 위치·삭제 금지 명시

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FVeduv1eNdXjk1ay4tSgBg
2026-07-30 21:47:07 +09:00