← 작업일지

2026-04-26 · v1.0.0

2026.04.26 작업일지 v1.0.0

4-노드 LLM 인프라를 셋업한 날이자 그게 워크플로우랑 안 맞는다는 걸 자각한 날. 라파5 사기로 했다가 본가 놀던 M1 맥미니로 갈아끼우고 24/7 자동화 허브로 e2e 셋업까지. Ep.3 본문 1~3막 + 평행본 작성. 심사레이더 v0.2 main 완료, 포모도로 Play Console 심사 제출, 이슈 7건 기록.

오늘의 궤적

13:00 KST 데스크탑·노트북 두 대 인프라 합류 (4-노드 가동) → 17:00 24/7 자동화 허브 필요 결론 → 17:25 본가 M1 맥미니 발견으로 결정 전환 → 22:00~23:54 진접 픽업 + 공덕 도착 + 셋업 e2e → 자정 직후 운영 정책 v2 (4-node on-demand) 확정 → 04-27 00:30 v3 정책 (2-node 슬림화) 결정 + trend-curator routing v2. 같은 날 review_radar v0.2 main 완료 + 포모도로 Play Console 심사 제출 + ep3 outline·본문·평행본 동시 작성.

4-노드 → 2-노드 인프라 (오늘의 메인)

13:00 KST — 4-노드 합류

  • 데스크탑(DESKTOP-0VAB3QC, RTX 3060 Ti 8GB, 75 tok/s) + 노트북(DESKTOP-4MNJ1C0 리전5, RTX 3060 Laptop 6GB, 22 tok/s) Tailscale 합류
  • ollama llama3.1:8b 양 노드 풀, OLLAMA_HOST=0.0.0.0:11434, schtasks 자동 시동, 방화벽 11434 Allow
  • WSL 본진(2070S) + Mac 본진(맥북프로) 까지 4기기 LLM 인프라 그림 완성
  • 메모리 신규: project_4node_local_llm_infra.md

17:00~17:25 KST — 라파5 → M1 맥미니 결정 전환

  • 17:00: “24/7 자동화 허브 인프라 필요” 결론 → 라파5 8GB 풀세트 25만원 가이드
  • 17:15: 한국 정품 시세 확인 후 풀세트 40만원 → “비싸네”
  • 17:25: 강대종님 “본가에 놀고 있는 M1 맥미니 16GB 있는데” → 0원 대체 결정 전환 + 진접 픽업 출발
  • daejong-page 904cc84 (todos 라파5 → 맥미니 갈아끼움) + 439c6cd (ep3 outline)

메타: Mac Claude 와 WSL Claude 둘 다 “라파5 사세요”부터 시작했고 “집에 놀고 있는 컴퓨터 있어요?”를 안 물어봄. 두 AI 어시스턴트가 동시에 같은 함정. 이 자각이 feedback_check_workflow_before_infra.md 룰로 정립됨.

22:00~23:54 KST — 맥미니 e2e 셋업

진접 본가에서 픽업 후 공덕 도착, 책상에 합류시키고 무인 24/7 자동화 허브로 셋업:

Task내용결과
#1 macOS Setup Assistant”새로운 기기로 설정” / 계정 user/mac-mini / FileVault OFF (헤드리스 무인 부팅 위해) / 자동 업데이트는 다운로드만
#2 Tailscalebrew 없이 .pkg 설치 → Admin 콘솔에서 hostname rename mac-mini-macminimac-mini✅ 100.120.156.7
#3 SSH 키 등록본진 Mac + WSL 양쪽 공개키 → 맥미니 authorized_keys 추가, ssh mac-mini 무인증 검증 PASS
#4 brew + 도구git, python@3.12, jq, wget, node
#5 launchd 잡 이전분석 결과 현재 이전 대상 사실상 없음 (자동화 잡 _disabled, trend-curator 는 일주일 후 마이그레이션)✅ 보류 마감
#6 절전 끄기pmset -a sleep 0 disksleep 0 womp 1 autorestart 1 powernap 1 tcpkeepalive 1 + 자동 로그인 GUI
  • 함정 1: 셋업 중 sudo systemsetup -setremotelogin on 이 Full Disk Access 부족으로 차단 → GUI 토글로 우회. 이슈 기록 (2026-04-26-tahoe-ssh-cli-block.md) + 메모리 reference 신규 (reference_macos_setremotelogin_gui_only.md).
  • 검증: 본진 Mac → 맥미니 ssh + ping 12ms direct, hostname/whoami/uname/macOS 다 정상. WSL 본진 → 맥미니 ssh 도 동일 PASS.

23:30 KST — 운영 정책 v2 (4-node on-demand)

강대종님 자각: 본인 워크플로우엔 로컬 LLM 실 use case 가 trend-curator Phase 2 1개뿐. 매일 쓰는 LLM 은 클라우드 Sonnet/Opus + GPT-4o-mini.

노드평소켜는 시점용도
🤖 M1 맥미니 16GB24/7 ON 저전력항상자동화 허브 + launchd SoT + 가벼운 LLM
💻 데스크탑 (3060 Ti)OFF무거운 LLM 필요 시 수동75 tok/s 즉응
📓 노트북 (3060 Laptop)OFF거의 X22 tok/s 배치, fallback

추가 인프라(SD/Whisper/Vision) 셋업하지 말기 룰. claude-skills c1a0f79 (Mac→WSL handoff) + eae747a (Mac ack).

04-27 00:30~ KST — v3 정책 (2-node 슬림화)

WSL 본진의 day-1 활용도 0 자각 → 더 슬림화:

  • 데스크탑·노트북 평소 OFF (필요 시 power-on, SSH 키·schtasks 보존)
  • trend-curator routing v2: 노트북 SSH hop 제거 → WSL 본진 localhost 실행 (run-trend-curator-on-notebook.sh 파일명은 유지, plist 호환)
  • 메모리 v3 섹션 추가 + routing v2 전면 개정 + MEMORY.md 인덱스 갱신
  • claude-automations 7f0daa0 (notebook hop 제거) push 완료

발견된 별건 1건: curator.py 의 OLLAMA_URL 이 데스크탑 IP 100.70.173.66:11434 로 하드코딩돼 있는데 v3 정책으로 데스크탑 OFF → ollama 단계 timeout. WSL 별 세션 처리 예정.

심사레이더 v0.2 main 완료

5건 main 푸시 + iOS 빌드 PASS:

커밋내용
955c841M5 background polling — workmanager 15min
c70cb6aM6 Play Console / App Store Connect 콘솔 딥링크
bfd1d64헤더 “메일 N분 전” + 알림 문구·타이밍 다듬기
960cb2cquiet hours 23:00~07:00 KST 심야 묵음 + isQuietHour 단위테스트 6개 PASS
a3eaa3diOS deployment target 13.0 → 14.0
a524c0bdocs/v0.3-d-fcm-architecture.md (서버측 FCM push 설계, 5일 마이그레이션 플랜)

todos.md L25 close 됨 (스냅샷 [x] 였는데 마스터 stale 했던 것을 goodnight step 1.5 에서 sync 처리, bf66ef3).

v0.3 (d) FCM push 는 맥미니 24/7 안정성 검증 후 본격 착수 (블로커: 일주일 운영 후 재평가).

포모도로 Play Console 심사 제출

  • daejong-page 90f35d2: mark done
  • claude-skills 558e789: submit-app lessons 2개 추가
  • Mac 에서 Playwright MCP 자동 처리 — 워크시트 9개 선언 confirm + 워크시트에 없던 신규 항목 2개(광고 ID 선언 “사용 안 함” / 정확한 알람 권한 “알람 시계”) + alpha 한국 추가 + 출시 노트 ko/en + “검토를 위해 변경사항 13개 전송” 클릭
  • todos.md L33 close 됨 (마찬가지로 goodnight step 1.5 에서 sync)

뉴스레터 Ep.3 작성

  • daejong-page 439c6cd: outline + 핵심 메시지 (“70만원 인프라 사려다가 0원으로 끝낸 1시간”)
  • d907aef: 본문 1~3막 + 메타 초안
  • 3df03d0: WSL 평행본 (“같은 시간 옆자리에서는 코드를 짜고 있었다”)
  • 6d6c570: Ep.2 Substack 발행 편집본
  • 발행 예상 2026-05-04 전후 (4·5막 후일담은 맥미니 일주일 운영 후)

인프라·스킬·자동화

자동화 hook 추가

  • claude-automations 87d2cfe: 5분 텔레그램 reply 하트비트 hook
  • a41ce4f: heartbeat-check 자동 텔레그램 ping
  • d1dbc3e: per-turn grace (사용자 prompt 직후 auto-ping suppress)
  • 9094e88, 3f4d2d1: typing daemon 3차 fix (transcript flush race + session-isolation regression)

스킬 개선

  • claude-skills cf2a63c: goodnight step 1.5 (자동 완료 todos 매칭)
  • 19f84e8: someday 스킬 신규 + step 2.7 추가
  • 042b7e1: daejong-page /someday 페이지 + 메뉴 타일
  • cecb274: handoff 동적 세션 탐색 (claude-main 빈 셸 함정 우회)
  • 7cb88e3: handoff sender emoji prefix 규칙 모든 directive 채널로 확장
  • 2267a18: handoff 트리거 키워드 확장 + fallback regression 경고
  • 84ed00f: goodnight stale 검출에 메모리 mtime + 텔레그램 reply 본문 evidence 추가

인프라 정리

  • claude-automations 09b55be: launchd com.claude.daily-sync-and-learn.plist 제거 (4일째 비활성화)
  • f2cdc2d, b46d82f, 91b4ba2: setup-local-llm.ps1 (Windows 11 로컬 LLM 부트스트랩, ASCII-only + UTF-8 BOM + Tailscale·Ollama installer fallback)

이슈 기록 (재발 방지)

8건 (방금 goodnight step 2 에서 1건 추가):

slug한 줄
handoff-active-session-marker-mismatchauto mode 에서 marker grep 안 잡힘
handoff-claude-main-empty-shell동적 세션 탐색으로 우회
handoff-method-a-fallback-regression”쏴줘” 발화에 reply 폴백으로 회귀한 사례
heartbeat-rule-soft-enforcement5분 하트비트 룰 강제력 부재 12분 침묵 (51분 침묵 1회 더 추가)
mac-ssh-stale-socket-overnightMac SSH 야간 stale 소켓 (keepalive 양방향 패치로 해결)
paste-block-label-leak복붙 메시지에 라벨/안내 텍스트 섞어 보냄 → PowerShell 깨짐
review-status-disabled-blind-spotreview-status-check _disabled 17h 동안 Apple issue 메일 누락
tahoe-ssh-cli-block (이번 goodnight)macOS Tahoe 26.x systemsetup -setremotelogin FDA 차단

메모리 기록

신규/갱신:

  • project_4node_local_llm_infra.md (신규 → v2 → v3 섹션 누적)
  • project_trend_curator_sonnet_routing.md (Phase 1 → v2 routing 으로 전면 개정)
  • feedback_check_workflow_before_infra.md (신규 — 인프라 셋업하기 전 워크플로우 매핑 룰)
  • feedback_handoff_method_a_default.md (회귀 케이스 기록)
  • project_handoff_bidirectional_zero_touch.md (양방향 zero-touch 검증 결과)
  • feedback_paste_blocks_as_separate_message.md (복붙 분리 룰)
  • feedback_telegram_reply_every_turn.md (이번 세션 만성 패턴 반영, “터미널 마크다운 먼저 출력 금지” 강제)
  • reference_macos_setremotelogin_gui_only.md (신규 — 이번 goodnight 단계)
  • user_residence.md (모든 장비 공덕 한 책상 — 강대종님 사진 직접 확인)
  • MEMORY.md 인덱스 다수 갱신

학습·상담

  • 인프라 셋업하기 전 워크플로우 매핑 확인 룰 정립 (feedback_check_workflow_before_infra.md) — 라파5 → M1 맥미니 결정의 일반화. SD/Whisper/Vision 같은 추가 인프라 셋업하지 말기.
  • “있는 GPU 활용해야 할 것 같아서” 셋업하는 패턴 = 인프라가 인프라를 위한 인프라가 됨 (sunk cost 함정).
  • 클라우드 API/Claude 로 이미 처리되고 있는지 먼저 확인. 매일 사용량 1000건 미만이면 절감 효과 < 셋업/유지보수 비용.

남은 작업 (블로커·대기)

  • v0.3 (d) FCM push 본격 착수 — 맥미니 24/7 일주일 운영 검증 후 (블로커)
  • trend-curator OLLAMA_URL 데스크탑 IP → WSL 본진 localhost 또는 Phase 2 비활성화 (WSL 별 세션)
  • ollama on 맥미니 (Task #7) — 일주일 후 재평가
  • pomodoro Play Console 심사 결과 도달 대기 (/review-status-check 이메일 모니터링)
  • 약먹자 1.0.1 + 더치페이 1.0.2 iOS 심사 큐 (48h 내 결과)

관련 커밋

repo핵심 커밋들
daejong-page904cc84 (todos 라파5→맥미니), 439c6cd (ep3 outline), d907aef (ep3 본문), 3df03d0 (ep3 WSL 평행본), 042b7e1 (someday 페이지), 90fbe86 (todos hanjul 종결), 2f1c3b1 (issue tahoe-ssh-cli 공개본)
claude-skillsc1a0f79 (handoff 라파5→맥미니), eae747a (Mac ack v2), 0440437 (ep3 WSL trend-curator 평행본), 558e789 (pomodoro lessons), cf2a63c (goodnight step 1.5), 19f84e8 (someday 신규), e542a31 (issue tahoe-ssh-cli), b12e0d7 (Mac ack v3 + ollama URL 충돌 보고)
claude-automations87d2cfe (heartbeat hook), a41ce4f (auto telegram ping), 09b55be (daily-sync 제거), f2cdc2d (Windows 11 부트스트랩), 7f0daa0 (notebook SSH hop 제거 v2)
review_radar955c841 (M5), c70cb6a (M6), bfd1d64 (헤더+알림), 960cb2c (quiet hours), a3eaa3d (iOS 14), a524c0b (v0.3 d 설계)
todobf66ef3 (L25/L33 close — goodnight step 1.5)