← 작업일지

2026-05-20 · v1.0.1

2026.05.20 작업일지 v1.0.1

오후 외출 자율모드 — 4노드 손0 fan-out + 약먹자 “빌드 PASS”가 사실 stale 였던 걸 본진이 잡아 SPM↔pod 충돌 해결 후 라이트 디자인 첫 실물 확인.

오늘의 궤적 (오후, KST 15:16~15:55)

형님이 머리(다운펌) 자르러 외출하면서 “외출 자율모드, 다이나믹, 강대종 손0, 나눠서” 발동. 본진은 관리감독만 맡고 4노드(🪟 WSL / 🏭 맥미니 / 🖥 데스크탑 / 💻 노트북)에 directive fan-out. 네 노드 모두 self-pace로 작업 후 mac-report로 회신 → 본진 통합. 약먹자 라이트 디자인 빌드 검증 과정에서 “빌드 PASS”라는 보고가 사실은 stale 아티팩트였던 게 드러나 본진이 근본원인(SPM↔CocoaPods 충돌)을 잡아 해결, 라이트 홈을 처음으로 실물 캡처해 형님 폰으로 전달.

외출 자율모드 (night-auto 스킬, 주간 변형)

마감 18:00 KST 설정, dynamic ScheduleWakeup self-pace. 본진이 운반체(mac-mini-directive.sh / wsl-directive.sh / desktop3060ti-directive.sh / notebook3060-directive.sh)로 directive 4발 발사. 비가역(머지/스토어/폰OS/rc/settings)은 형님 게이트 큐로 분리. 노드 보고마다 3-channel(1차 본진 처리 / 1.5차 reverse reply / 2차 형님 텔레그램) 준수.

노드별 결과

  • 🪟 WSL — 라이트 대비 self-review (push 없이 분석만). WCAG AA 기준. 약먹자(틸): success 배지 2.28(최악), 틸 전경+FAB 2.49 광범위 FAIL → 틸다크 #0C7568(5.59) 토큰 신설 권장. 더치페이(인디고): 버튼 4.34 경계 → 기존 primaryDark #3B53D6(6.19) 적용만 하면 됨. 공통 danger #DC2626.
  • 🖥 데스크탑 — 앱 repo read-only 헬스 스윕. dutch_pay/memo TODO·FIXME 0건 클린. 노드 블로커: 이 노드 flutter 3.3.0(앱은 3.44 요구) → analyze 불가. stale 브랜치 4건(dutch_pay setup/wsl-build-hints 31일·refactor-d1-p1 5일 미머지, memo mac/memoyo-ux-fix 14일).
  • 💻 노트북 — stale 브랜치 점검. notebook/tmux-wheel-2026-05-18 콘텐츠 2파일 main과 바이트 동일, INDEX.md만 stale → 삭제 안전, 미머지 작업물 0.
  • 🏭 맥미니 — 빌드+시뮬 스샷. 더치페이 PR#9 빌드 PASS + 라이트 홈 스샷 확보(형님 폰 발사). 약먹자 PR#12 “빌드 PASS”라 보고했으나 알림 모달 헤드리스 dismiss 불가로 홈 스샷 블로커.

약먹자 stale 빌드 — 본진이 잡은 진짜 원인

맥미니가 약먹자 스샷을 못 떠서 본진(GUI 권한 O)이 직접 시뮬 캡처 시도. 첫 스샷이 다크로 렌더 → 라이트 리프레시인데 이상. 코드 확인: main.darttheme: AppTheme.light(오프화이트 0xFFF7F8FA), darkTheme 없음 → 라이트여야 정상. stat 으로 Runner.app/Runner 바이너리가 5/15 날짜 = stale 확인. 빌드 로그에 Error running pod install + 성공 마커 부재 → flutter build가 pod 실패를 비치명적으로 넘기고 exit 0으로 끝나며 직전 stale 아티팩트 사용.

근본원인: 이 프로젝트 Swift Package Manager(ios) 활성 상태에서 google_mobile_ads(SPM 미지원→CocoaPods)가 webview_flutter_wkwebview(SPM이 가져감)에 의존 → CocoaPods가 spec 못 찾음(Unable to find a specification). --repo-update/pub get로도 안 풀림.

해결: flutter config --no-enable-swift-package-manager(되돌릴 수 있음) → flutter cleanpub getrm -rf ios/Pods Podfile.lock .symlinksflutter build ios --simulator --debug PASS(pod install 1s, Xcode build 56.9s). 맥미니 “빌드 PASS”도 같은 stale였을 가능성 큼 — 약먹자 라이트는 어느 노드도 진짜 빌드를 못 했던 상태였음.

시뮬 스샷 두 함정

(1) 시뮬레이터 2대 booted(iPhone 17 springboard + iPhone 17 Pro 내 앱) → osascript ... front window가 엉뚱한 창(iPhone 17, 100,50)을 줘서 첫 cliclick이 다른 시뮬을 탭. System Events ... windows로 창 title(모델명) 확인 후 올바른 창(iPhone 17 Pro, 770,47) 좌표 재계산. (2) launch 즉시 알림 권한 모달이 라이트 홈을 가림 — simctl io screenshot은 헤드리스로 프레임버퍼 직접 캡처되지만(모달도 보임) 탭은 Mac 창 좌표 cliclick 필요. screencapture로 calibration(본진은 Screen Recording 권한 O, 맥미니는 X) → “허용” 버튼 cliclick → 라이트 홈 캡처 PASS. WSL이 지적한 틸 버튼 흰글씨 저대비(2.49)가 실물로 확인됨.

인프라·메모리

  • reference_flutter_spm_pod_conflict_google_ads.md 신설 + MEMORY.md 인덱스 등재. exit0 stale 함정 + 진단(바이너리 mtime) + 해결(SPM off) + 시뮬 2대/알림모달 곁다리 기록.
  • 본진 flutter config 변경: SPM 비활성(전역, --enable-swift-package-manager로 되돌림).

형님 게이트 큐 (비가역, 복귀 후 결정)

  • 약먹자/더치페이 대비 보정(틸다크 토큰 등) 적용 여부 → 적용 후 squash merge
  • stale 브랜치 정리 4건
  • 노트북 로컬 브랜치 삭제 ok
  • 맥미니도 빌드 위임 전 SPM off 동일 처리
  • 메모요 1.0.6+24 실게시 상태 — 로컬 아티팩트(4/21 aab)만으론 확정 불가, Play/ASC API 확인 필요

다음 세션 예고

clawd-on-desk WSL/노트북 복구 예정 (형님 명시).

관련 커밋

repoSHA메시지
yakmukjae7d1ad6feat(design): 라이트 디자인 리프레시 — 틸 포인트 + 공통 시스템
yakmukjae0ff1d5docs(design): 라이트 리프레시 spec (약먹자+더치페이 공통)

(약먹자 빌드 fix는 flutter config 전역 설정 변경이라 repo commit 없음. 메모리는 auto-push hook으로 반영.)