diff --git a/myApp/HaruDanim/CLAUDE.md b/myApp/HaruDanim/CLAUDE.md index c6bba8f..3a8cde4 100644 --- a/myApp/HaruDanim/CLAUDE.md +++ b/myApp/HaruDanim/CLAUDE.md @@ -376,4 +376,5 @@ xcrun xcstringstool sync Widgets/Localizable.xcstrings --stringsdata "${widget_f 10. **아이콘 전용 버튼에는 `accessibilityLabel` 필수** (보이스오버가 "버튼"으로만 읽는 것 방지). 여러 요소로 된 셀은 label+value로 한 덩어리 낭독(모음 탭 행동 셀 참고), 타임테이블 블록·점처럼 텍스트 없는 시각 요소는 verbatim 라벨(이름+시각)로 11. **서브 에이전트(Agent/Workflow 병렬 분업) 사용 금지 — 사용자 지시(2026-07-22)**: 병렬 리뷰 에이전트 8개가 세션 한도를 급격히 소모한 전례. 검토·수정·검증 등 모든 작업은 오래 걸리더라도 세션 본체가 직접 수행할 것 12. **git push 실패·502 = 자가 호스팅 git 서버 장애 (복구 절차, 2026-08-01)**: 원격(ceuak.duckdns.org)은 자가 호스팅 — Proxmox 호스트(192.168.0.5, 웹 UI :8006) 위 **VM 115 `ceuak-debian`(192.168.0.21)이 gitea 본체**(외부 ssh 2522·`git.ceuak.duckdns.org`가 여기로), VM 131(HAOS, 192.168.0.22)의 nginx가 리버스 프록시. 작업 맥은 같은 LAN이라 사용자가 외부에 있어도 진단 가능. **판독**: push 실패 + https 502(nginx 생존) + ping 192.168.0.21 무응답 = VM 115 게스트 프리즈(Proxmox상 "running"이어도 — 2026-08-01 사례는 메모리 92.7% OOM 추정). **복구**: Proxmox API(root@pam — 비밀번호는 저장 안 함, 사용자에게 요청)로 `POST /nodes/prox/qemu/115/status/shutdown`(forceStop=1) → `status/start` → 약 10초 뒤 gitea·ssh 자동 복구 → push 재시도. 재발 방지 적용됨: onboot=1·qemu-guest-agent(API `agent/ping`으로 내부 확인 가능)·스왑 3.0Gi·journald 영속화(다음 프리즈엔 로그 남음). 상세는 아리나 메모리 `haru-git-server-recovery.md` +13.5. **크래시 로그 판독 지식 (2026-08-26 — 사용자 실기기 로그 3종 실판독)**: 소킹 중 "가끔(버전당 0~1회) TestFlight 충돌 알림, 증상·데이터 이상 없음" 보고의 전수 진단 결과 — **셋 다 코드 크래시가 아니라 백그라운드 시스템 킬이며 수정 불요**. ①아이폰 1.5(8) `0xdead10cc`: 앱이 백그라운드로 일시 정지되는 순간 CloudKit 미러링 내보내기가 App Group SQLite에 쓰기 중(락 보유)이면 시스템이 정책상 킬 — App Group+SwiftData+CloudKit 구조의 알려진 현상, WAL 저널+내보내기 자동 재시도라 데이터 안전(사용자 실증: 재실행 시 멀쩡). 미러링은 자체 백그라운드 보증을 잡지만 드물게 뚫리며 앱 코드로 막을 수 없음 — **수정 시도 금지**(추측성 수술). ②맥 1.5(1) `0x8badf00d` scene-create 워치독(Background·기기 전체 100% CPU 중 앱 CPU 0.157초=기아 상태) — 시스템 혼잡, 빌드 9 성능 최적화가 앱 측 기여분(메인 스레드 정지)을 이미 제거. ③위젯 확장 1.0 개발기(7/11) 46건: 확장이 CloudKit 미러링 초기화를 시도해 트랩 — §5.1 "확장은 로컬 전용" 규칙의 기원, 출시 전 수정·재발 0. **공통**: 셋 다 백그라운드에서 죽어 사용자는 순간을 못 보고(TestFlight 공유 다이얼로그만 나중에 뜸), 정식 앱에서도 동일하게 일어날 수 있으나 사용자에겐 보이지 않고 ASC 지표(옵트인)에만 잡힘. 향후 충돌 보고 시 이 시그니처(0xdead10cc·0x8badf00d Background)면 기지 사항으로 분류할 것. 13. **"재시작" 루틴 — 사용자 지시(2026-08-02)**: 컨텍스트가 길어지면 사용자가 `/clear`·세션 재시작 후 "재시작"이라고만 말한다. 그러면 별도 프롬프트 없이 다음을 순서대로 수행할 것 — ①이 CLAUDE.md를 처음 보는 것처럼 정독 ②프로젝트 폴더·파일 구조와 코드를 파악해 상세 분석 ③빌드(Debug+Store)·시뮬레이터 실행·자가 검증 인자(§14 `-progressSelfTest`·`-csvImportTest` 등)로 문제 유무 확인 ④검토 완료 보고: 발견 사항 + 현재 프로젝트 상태(버전·다음 예정 작업) + 이후 대기 태세(사용자의 버그 보고·소기능 요청을 받아 수정할 준비)를 정리해 사용자에게 보고