← 작업일지

2026-05-19 · v1.0.0

2026.05.19 작업일지 v1.0.0

메모요 1.0.6+24 silent fail 핫픽스 (iOS 26 share_plus sharePositionOrigin 함정) → 메모요 freeze 해제 + 1.0.7 메이저 4항목 진입 ack + fleet-clear rescue / fleet-state smoke test / asc-deliver whatsNew surface 인프라 정비 + 권한 harness 거부 hard rule globals 승격.

오늘의 궤적

아침에 형님이 production iOS 메모요에서 “메모 내보내기” 가 silent 무반응이라는 텔레그램 트리거를 던졌고, 50분 안에 root cause (iOS 26 + share_plus 10.1.4 의 sharePositionOrigin Rect 필수화 + onTap 콜백 try/catch 누락 → swallow) 까지 잡고 1.0.6+24 surgical fix 가 본진 main 으로 박혔다. 오후엔 parallel-cycle 옵션 A 로 4 노드 점검 (노트북 stale 브랜치 정리 + night-builder LANG/LC_ALL 점검 + asc-poll-build 인자화 + asc-deliver whatsNew surface + desktop3060Ti .bashrc 잔재). 늦은 오후 fleet-clear rescue v0.8 pane-finding fix PR #32 + fleet-state HEAD ahead smoke test PR #10 + rescue log session_name PR #33 셋 다 본진 self-PR 머신 모드로 즉시 squash merge. 저녁에 형님이 메모요 1.0.7 메이저 4항목 묶음 ack — Drive 1버튼화 / 삭제 UNDO / 메모 상세 공유 / 휴지통 30일. 16:45 진입 직전 spec/todo 갈림 (spec 5/18 share sheet 자유 선택 vs todo 5/19 Drive 1버튼) + 1.0.6+24 배포 verify 미완 발견하고 /session-clear. 18:08 새 세션 /goodnight 진행 — share_plus 이슈 박제 + project_memoyo_frozen 삭제 후 project_memoyo_1_0_7_active 박제 (freeze 해제) + 권한 harness 거부 hard rule globals/CLAUDE.md 승격.

메모요 (simple_memo_app)

  • 1.0.6+24 핫픽스 (018753f, 09:54 KST)1.0.6+24: 메모 내보내기 silent fail fix. iOS 26 부터 share_plus 10.1.4 가 sharePositionOrigin Rect 인자 필수로 변경. 메모요 호출부 누락 + onTap async 콜백 try/catch 없어 PlatformException 이 silent 로 swallow 됐다. surgical fix 4건 — Rect import, sharePositionOrigin 명시, XFile mimeType, try/catch + SnackBar surface, 버전 bump. 형님 폰 debug install 후 share sheet 정상 출현 + Xcode console PlatformException 0건 verify.
  • fastlane release notes (6be209e)fastlane: 메모요 1.0.6+24 release notes (ko).
  • 자동 매칭 미적용 — todo “메모요 1.0.6+24 배포 상태 verify” 는 자동 완료 후보 매칭 (메모요 + 1.0.6+24 토큰 2개) 됐지만 액션이 “배포 verify” 라 pending. 핸드오프 step 1 으로 남김.
  • 이슈 박제 1건2026-05-19-share-plus-ios26-silent-fail.md (d14d4ef claude-skills + a18e256 daejong-page). 예방 forcing function 3건: (a) 모든 Flutter 앱 share_plus 호출부 grep 일제 점검, (b) onTap async 콜백 try/catch 룰 (lint rule 후속 검토), (c) iOS 메이저 bump 직후 native bridge 패키지 호출부 일주일 안 dogfood 재검증.

메모요 1.0.7 메이저 진입 (저녁 ack)

형님 ack 으로 1.0.7 메이저 4항목 묶음 진입 확정. 직전 5/9 trio-vote 3-0 만장일치 freeze 결정 해제.

  1. 구글 드라이브 단일 버튼화 — share sheet 폐기. AppBar overflow “메모 내보내기”/“메모 가져오기” 각 1버튼 → google_sign_in + googleapis Drive v3 직접 호출. 메모요 폴더에 .json upload / 리스트 fetch → 1개 선택. spec docs/superpowers/specs/2026-05-18-memo-export-import-design.md §3.1 갱신 + §5.1 의존성 정리 (google_sign_in + googleapis 추가 / share_plus 제거 검토).
  2. 메모 삭제 회귀 (스낵바 UNDO 1단계) — 일반 삭제 즉시 5초 UNDO 스낵바, 탭 시 직전 상태 복원.
  3. 메모 상세 화면 공유 버튼 — memo_edit_screen.dart AppBar 에 share IconButton. 단일 메모 텍스트 + 시스템 share sheet (백업 흐름과 별개, share sheet UX 유지 OK).
  4. 휴지통 30일 보관 — Memo 모델에 deleted_at TIMESTAMP nullable. 일반 화면 deleted_at IS NULL 필터. 휴지통 화면에서 수동 복구 / 즉시 영구삭제. cold start / 백그라운드 진입 시 deleted_at < now - 30d 자동 purge.

진입 사전 조건 — (a) 1.0.6+24 배포 상태 verify (Play Console + ASC + 형님 폰 자동 업데이트 도달), (b) spec §3.1 share sheet 자유 선택 → Drive 명시 API 1버튼 갱신. 16:45 mid 중단 시점 (a)(b) 둘 다 미완. 메모리 박제 project_memoyo_1_0_7_active + project_memoyo_frozen 삭제.

5노드 운영 인프라

  • fleet-clear rescue pane-finding fix PR #32 (f0ed35d, claude-automations, 15:08 KST)session-clear-rescue.sh:19awk '$1>0{exit}' 패턴이 grouped client 환경에서 본진 claude 세션 pane 놓침. 14:17 KST 사고 (issues/2026-05-19-fleet-clear-rescue-pane-mismatch.md) 후 fix. 1순위 list-panes -t claude -F '#{pane_id}' | head -1, 24순위 fallback 체인. 510줄 변경. bash -n + tmux 실호출 검증 PASS.
  • fleet-clear rescue log session_name PR #33 (57c1070) — rescue 로그에 session_name 도 같이 남기는 후속 enhancement.
  • fleet-state HEAD ahead smoke test PR #10 (f276ae1, fleet-state, 15:18 KST) — PR #6 (54c1d82) stale-recover HEAD ahead 체크 forcing function 의 smoke test 자동화. ephemeral clone 패턴 위에 worker-mock.txt commit 시뮬레이션 + working tree dirt 있어도 release_losing_recover 가 skip 되어 HEAD 안 reset 되는지 검증. 38줄 smoke 추가. D06#1 + D08#1 풀그린 PASS (회귀 없음).
  • asc-deliver whatsNew 누락 surface (1955b55, automations)--submit 분기 직전에 release_notes 빈 값 검사 + stderr warning (“release_notes.txt missing or empty at ” + “ASC will reject submit without whatsNew”) + sys.exit(2) abort. 5/18 [[2026-05-18-asc-deliver-whatsnew-required.md]] 함정 forcing function. 다음 출하 사이클 silent 통과 차단.
  • launchd 풀그린 우회 인프라 (34abfb0, automations)cycle-trigger.sh + sync-health-cron-fire.sh 신설. launchd plist 등재 외 우회 트리거.
  • submit-app asc-poll-build.py 인자화 확인 — 이미 적용된 상태 (argparse 완전 인자화 + SKILL.md Step 3.5a 호출 명령 + 종료 코드 0/1/2 분기). PR #58 머지 사이클에서 같이 적용된 듯.
  • night-builder v2 LANG/LC_ALL 점검 — archive 처리됨. com.claude.night-build.plist 가 ~/Library/LaunchAgents/ 에 등재 안 되어있고 ~/.claude/automations.bak-2026-05-15/launchd/ archive 에만 보존. OpenClaw decom 후 같이 archive. 현재 launchctl list 등재 야간 잡은 com.claude.night-runner (read-only 점검, 03:30 KST) 뿐 → 실 영향 0. archive plist LANG/LC_ALL 누락 상태로 박제, night-build 부활 시 재점검.
  • 노트북 issue-tmux-wheel-2026-05-18 rebase + skills pull — parallel-cycle 옵션 A 14:55 KST 처리. 8 commit 작업물(이슈+knowhow+INDEX) 전부 PR #56/#57 squash-merge 로 origin/main 반영 → 로컬+remote 브랜치 삭제. skills pull 3a7299c..c22f665 자동 동기화 끝.
  • desktop3060Ti .bashrc 분기 점검 — fix 불필요 확인. 데스크탑 ~/.bashrc 의 SSH_CONNECTION 분기는 이미 2026-05-17 이후 어딘가에서 통째로 제거됨 (.bashrc.bak-2026-05-17 L135 에는 존재). L131 tmux has-session 백그라운드 보장 라인은 별개. RC 파일 무손.

본진 self-PR 머신 모드 룰 갱신

  • feedback_self_pr_squash_merge_denial 갱신 (52e24d6 memory + 1c3e7ba MEMORY.md) — 본진 self-PR (mac/*) 은 작은 fix + 사전 검증 PASS + 머지 보고 + GitHub PR 흐름 4조건 충족 시 ack 없이 즉시 squash merge OK. 다른 노드 PR / 큰 메이저 PR (메모요 1.0.7 등) 은 ack 흐름 유지. PR #32 / #33 / #10 셋 다 본 룰로 자동 머지.

권한 harness 거부 hard rule globals 승격

  • globals/CLAUDE.md “빠른 원칙” 섹션 — 본진 메모리 feedback_respect_harness_denial (2026-04-19) 를 5노드 SoT 로 승격. “권한 harness 거부 = 그 자체가 답, 우회 시도 금지” 한 줄. Bash/Edit 권한 거부 시 우회 경로 탐색·allowlist 추가 제안·재허락 요청 X. 원인 분석은 형님이 “왜 막혔는지 알아봐” 라고 명시할 때만. 메모리 파일에 **globals 승격:** 2026-05-19 마커 박힘.
  • feedback_water_request_triggers_tuya globals 승격 마커 박힘 — 이미 globals/CLAUDE.md “빠른 자동 트리거 — 가전” 라인에 박혀있던 룰. description 빈 값이라 자동 감지 알고리즘이 false positive 로 잡았던 것 → marker 박아 다음 사이클 false positive 차단.

daejong-page (공개 페이지)

  • insights 페이지 신설497915a (#96) insights 카드 클릭 → insight.html 디테일 페이지 진입 + a798241 (#94) 인사이트 페이지 추가 (insights.html + insights/) · 첫 entry “Claude 5 Levels” 영상 노트.
  • issue PR #95 (8f08f05)issue: SessionStart 훅 git pull --rebase race 공개본 동기화.
  • todos 추가 (0589406)메모요 메모 삭제 되돌리기 + 휴지통 30일 보관 (1.0.7 (4) 휴지통 항목 원본).
  • mirror sync 자동 복구 (75f6e1a + 79c5986) — 5/18 closing 사이클에서 누락된 issues 7건 + INDEX.md + index.json regen (goodnight 5.5 단계).

claude-skills (이슈/룰 SoT)

  • issue PR #60 (3a7299c)issue: SessionStart 훅 git pull --rebase race → Cannot rebase onto multiple branches. 5/17 SessionStart 훅이 git pull —rebase 중 다중 브랜치 에러 사고.
  • issues/INDEX.md regen — fleet-clear-rescue-pane-mismatch + share-plus-ios26-silent-fail 추가.

학습·상담

  • iOS 26 + share_plus 10.1.4 breaking change — iPad style presentation 요구 변경으로 sharePositionOrigin 이 옵션에서 필수로. 패키지 changelog 자체는 명시 안 하고 iOS 호스트 OS 메이저 bump 와 같이 풀어진 게 함정. → 다른 Flutter 앱(약먹자/더치페이/한줄일기/한컵/포모도로) 도 같은 함정 잠재. 호출부 일제 grep 점검 후속 필요.
  • 메모요 freeze 해제 결정 — 5/9 trio-vote 3-0 만장일치 freeze 결정이 5/18 export/import spec + 5/19 1.0.7 4항목 ack 으로 사실상 자연 해제. project_memoyo_frozen.md 메모리 stale 상태로 박혀있어 다음 세션이 잘못 판단할 위험 → 삭제 + 신규 메모리 박제.

남은 작업

  • 메모요 1.0.6+24 배포 상태 verify (Play Console + ASC + 형님 폰 자동 업데이트 도달) — handoff step 1.
  • 메모요 1.0.7 spec §3.1 share sheet 자유 선택 → Drive 명시 API 1버튼 갱신 + §5.1 의존성 정리. brainstorm + writing-plans 단계 필수.
  • share_plus 호출부 다른 Flutter 앱 일제 grep 점검 (lint rule 후속 검토).

관련 커밋

repoSHA메시지
simple_memo_app018753f1.0.6+24: 메모 내보내기 silent fail fix
simple_memo_app6be209efastlane: 메모요 1.0.6+24 release notes (ko)
claude-automationsf0ed35dsession-clear-rescue: session name 기준 pane 선택으로 교체 (#32)
claude-automations57c1070session-clear-rescue: log 에 잡은 pane 의 session_name 추가 (#33)
claude-automations1955b55asc-deliver: surface release_notes.txt missing before —submit
claude-automations34abfb0launchd 풀그린 우회 인프라 — cycle-trigger + sync-health-cron
fleet-statef276ae1tests: stale-recover HEAD ahead smoke (#10)
claude-skills3a7299cissue: SessionStart 훅 git pull —rebase race (#60)
claude-skillsd14d4efissue: share_plus 10.1.4 + iOS 26 sharePositionOrigin 필수화 silent fail
claude-skills1b08913globals: 권한 harness 거부 = 그 자체가 답 hard rule 승격
daejong-pagea798241인사이트 페이지 추가 (insights.html + insights/) · 첫 entry “Claude 5 Levels” 영상 노트 (#94)
daejong-page497915ainsights: 카드 클릭 → insight.html 디테일 페이지 진입 (#96)
daejong-page8f08f05issue: SessionStart 훅 git pull —rebase race 공개본 동기화 (#95)
daejong-page0589406todos: 2026-05-19 — 추가: 메모요 메모 삭제 되돌리기 + 휴지통 30일 보관
daejong-pagea18e256issue: share_plus 10.1.4 + iOS 26 sharePositionOrigin 공개본 동기화