2026.05.24 작업일지 v1.0.1
v1.0.0 (~19:44 KST) 이후 본 사이클 마무리 — 데드락 메타 사이클(A→B narrow), 데스크탑 14개 stale branch 일괄 폐기, 보존 2건 머지(techbridge + kakkalan), AI 용어집 자동 sync hook, install.sh 16 jobs bootstrapped, 메모요 1.0.7 sync cron tracker bootstrap, mac-report ssh chain mark cleanup, 본 굿나잇 진입 직전 IG cron 실패 surface.
이 버전에서 달라진 핵심
- v1.0.0 은 “표준화 빚 두 건” (맥미니 토큰 mismatch + 노트북 stop hook reply 함정) 까지 박제. v1.0.1 = 그 후 약 4시간 (19:44 ~ 자정 직전 KST) 본 사이클 마무리 분량 추가.
- 본 사이클 핵심 = 데드락 메타 사이클 (forcing function A → B narrow), 데스크탑 14개 stale 일괄 폐기 + 보존 2건 머지, AI 용어집 stats 자동 sync hook, install.sh 16 jobs bootstrapped (launchd plist 박제 후속).
- 본 사이클 끝에 IG cron 실패 (insta-post-general OAuthException) surface — 토큰 valid 검증 끝났고 별 사이클 진단 큐.
본 사이클 마무리 (19:44 ~ 23:59 KST)
1) 데드락 메타 사이클 — A 옵션 박았는데 같은 사이클 3회 재발 → B 옵션 narrow
본진 → 4 노드 fleet-clear / 디렉티브 fan-out 후 노드들이 텔레그램 reply 만 박고 본진 mac-report.sh 채널엔 답이 0 → 본진 inbox 0건 → 본진 cancel directive 발사 → 4 노드 idle 유지. master ↔ node 양쪽 idle 데드락이 같은 사이클에 3회 재발.
3회 재발 evidence:
- RUN_ID 1779632796 fleet-clear watcher timeout 후 fleet-clear.sh 미실행 (4 노드 mac-report 응답 0건).
- RUN_ID 1779633240 같은 패턴 재발.
- 형님 msg23874 “왜 병목” / msg23889 “왜 병목” / msg23930 “모든 노드 아이들” 답답함 호소 3회.
이슈 박제: ~/.claude/skills/issues/2026-05-24-master-node-idle-deadlock.md (commit 5f131e0).
메모리 룰 신설: feedback_node_to_master_picks_via_tmux_channel.md (commit 1ba1088) — “노드→본진 picks 분기 답은 텔레그램 reply 단독 X, mac-report.sh 채널 의무. 텔레그램만 박으면 본진 inbox 0건 → 양쪽 idle 데드락”. MEMORY.md 인덱스 갱신 16fd21d.
A 옵션 (단계적 강화) 박음 — ~/claude-automations/scripts/directive-callback-watch.sh 신설 (2-min polling) + 4 wrapper (mac-mini / wsl / desktop3060ti / notebook3060) + mac-report.sh ssh chain 끝에 본진 pending mark cleanup (commit 6dbaf29 + 74c0ce4). 그러나 같은 사이클 3회 재발 → forcing function 부족 증명.
B 옵션 (narrow) 박음 — telegram-stop-ping.sh 끝에 22줄 추가 (hostname != USERui-MacBookPro 가드) — fleet-clear-ack 정확 패턴 매칭 시 노드 stop hook 가 자동 mac-report.sh 발사 (commit 6636f7a). 본진 self-paste 의미 X, 노드만 발동. 다음 fleet-clear 사이클부터 노드들이 텔레그램 reply 만 보내도 mark touch → watcher 자동 fleet-clear.sh 실행 흐름 자동화.
2) mesh-vote 4표 — ABC 동점 → 본진 phase 4 결정 A
데드락 forcing function ABC 옵션 4 노드 vote:
- 🍎 본진 A
- 🪟 WSL B
- 🖥 데스크탑 A
- 💻 노트북 B
- C 표 = 0
- 결과: 2:2 동점 → 본진 phase 4 결정 = A (단계적 강화).
같은 메타 사이클에서 feedback_handoff_stale_negative_assertion 본문도 강화 — 재발 3건 inline + “다음 사이클 진입 시 sanity verify 의무” 항목 추가.
배운 것 — 정책 룰 박는 것만으로는 forcing function 충분 X. 코드 자체에 자동 발동 hook (B 옵션 narrow) 으로 강제해야 같은 사이클 재발 차단.
3) 데스크탑 14개 stale branch 일괄 폐기 (12 폐기 / 2 보존)
핸드오프 #3 “데스크탑 잔여 branch 2개 점검” closure 진행 → 본진→데스크탑 directive 발사 → 데스크탑 자율 처리 = 14개 stale branch 검증 후 일괄 폐기 패턴 (origin 동명 branch 부재 + branch tip blob sha main 통합 검증 + 손실 0).
- 폐기 12건 PASS: boris-cherny / claude-code-fullcourse-sihyun / prompt-caching-nateherk / ai-career-nateherk / enterprise-ax-kkachil-ai / harness-not-prompt-codex-vibelabs / m4-mini-liam-yoo / insights-page-2026-05-18 / stock-coin-sise / aso-dutchpay / audit-dutchpay / competitor-dutchpay.
- 보존 2건 (형님 surface):
desktop/insight-2026-05-23-anthropic-claude-code-large-codebase-techbridge(tip 62a46cb, main 부재) +desktop/insight-2026-05-24-agentic-tacit-knowledge-kakkalan-ai(tip e518ef1, main 부재) — 둘 다 publish 잡 누락 추정. 데스크탑 자율 SCOPE 벗어남 → 형님 판단 큐.
4) 보존 2건 머지 + AI 용어집 자동 sync
형님 msg24003 “1” 픽 = 둘 다 머지. 본진이 .md 2건 squash merge (insights/index.json 충돌 = stale branch, .md 만 staged), commit 2233c5a push, origin branch 2개 삭제. post-commit hook 자동 발동 → ai-glossary regen + index stats sync 8b7dce9 자동 commit + push.
- 남은 carry: insights/index.json slug entry 2개 누락 (페이지 카드/메뉴 UI 안 보일 가능성, .md 자체는 main 박힘 + ai-glossary 카운트 +2 sync). 별 사이클 publish 흐름 정상화.
5) AI 용어집 stats 자동 sync — knowhow 흐름과 통일
v1.0.0 에서 LIVE 한 ai-glossary.html 다음 진화 = 컨벤션 + post-commit hook 자동화.
- commit
535d872: ai-glossary## 용어 컨벤션섹션 추가 + backward backfill + post-commit hook 5노드 sync. - commit
6354f20: regen 호출 시 index.html marker block (<!-- AI-GLOSSARY-STATS-START -->) 갱신. - commit
310512c: repo-tracked post-commit hook (5노드 sync, 본진→4노드 git pull 자동 전파). - 보존 머지 후 (commit
2233c5a) post-commit hook 이 자동 발동해8b7dce9만들어냈음. 통일 흐름 검증.
6) issues SoT ↔ mirror sync 11건 미러 복구
~/.claude/skills/issues/ SoT (128) vs ~/daejong-page/issues/ mirror 갭 11건 surface → commit 5ec2175 일괄 미러 복구 + INDEX/index.json regen. 본 굿나잇 시점 SoT=mirror=128 PASS.
7) install.sh 16 jobs bootstrapped (launchd plist 박제 후속)
직전 사이클 cc33dfe 박제로 본진 11 plist 일반파일 → repo symlink 전환 진행. mesh-vote 5노드 만장일치 C 픽 (night-runner 만 빼고 16개) → 형님 ack 후 진행:
- 16 jobs bootstrapped, symlinks 16개 다
~/claude-automations가리킴 (기존 2 symlink 도 새 SoT 로 전환, target diff IDENTICAL). - night-runner.plist 본진 미설치 유지 (맥미니 03:00 전담 SoT 보존).
- launchctl list 검증 16/16 PASS, failed 0.
- mesh-vote 세션 1779626649.
8) mac-report.sh ssh chain mark cleanup fix (commit 74c0ce4)
노드 측 호출 시 본진 mark cleanup 자동 추가 (이번 사이클 alert 폭주 root cause fix). rm -f $HOME/.local/state/claude-directives/pending-* ssh chain 끝 추가. 5노드 cron */30 sync 자동 전파. 검증은 다음 사이클 = fleet-clear 또는 mesh-vote 등 directive 발사 후 mark 자동 정리 작동 확인 (todos.md carry).
9) Gmail POP3 fetcher 자동화 (PR #45 머지)
gmail-pop3-watcher daily Gmail POP3 종료 통보 메일 detection (commit 85b6e8a). 위임 = 맥미니 자율, gog readonly + bash + jq + curl. parking-lot Gmail POP3 fetcher closure.
10) .wslconfig 3 WSL 노드 표준화 검증
3노드 free -h PASS — WSL Ryzen / 데스크탑 / 노트북 3개 다 swap=8GB + total 일관. todos L#? closure.
11) 메모요 1.0.7 sync cron tracker bootstrap (commit b5c4d8f)
~/simple_memo_app/SYNC_PROGRESS.md 박음 — 1.1.x sync cron loop 진행 tracker. 메모리 project_memoyo_1_0_7_active.md 의 4항 메이저 묶음 (Drive 1버튼화 / 삭제 UNDO / 메모 공유 / 휴지통 30일) 진입 전 형님 ack 게이트 (D1/D2/D3 결정). cron 잡 BLOCKER 침묵 대기.
12) 컨텍스트 % 추정 사고 ban (HARD)
본 사이클 직전 (오전 02:14 KST + 06:46~07:50 KST) 본진이 “컨텍스트 % 추정” 발화 같은 날 2회 위반 → 형님 HARD BAN 박음. globals/CLAUDE.md “컨텍스트 % 추정 발화 금지, /context 실측만” 룰 + 이슈 2026-05-24-context-percent-mis-estimation.md + 메모리 feedback_no_context_percent_estimation 신설.
13) IG cron 실패 surface (23:52 KST)
본 굿나잇 진입 직후 형님 사진 첨부 = /insta-post-general cron 실패 알림. [4/4] IG 캐러셀 업로드 Graph API error 400 OAuthException code 100. 본진 진단:
- 토큰
is_valid: true(debug_token 결과),expires_at: 0(system token = never expires),data_access_expires_at2026-10 즈음. - scopes 정상 — instagram_basic / instagram_content_publish / business_management / pages_show_list / pages_read_engagement 다 있음.
- app = “autooutstarpost”, ig_user_id = 17841454053362824.
- error GET 대상 ID = 18036931958801779 — ig_user_id 와 다른 형식 (캐러셀 컨테이너 ID 추정).
- 만료 X, 토큰 valid → 별 사이클 진단 큐 (캐러셀 컨테이너 status 조회 시 권한 부족 또는 API 응답 ID 형식 변경 등).
추가 인프라·자동화 변경
~/claude-automations/scripts/env-token-healthcheck.sh신설 (commit26a4448) — 5노드 .env 토큰 daily 401 surface. 토큰 mismatch 사고 forcing function.~/claude-automations/scripts/forward-to-group.sh(commitb8d329b) — 401 token-stale fallback diag surface.~/.claude/skills/insight/SKILL.md2회 갱신 (ad5bbc9 / 9708ba0) — flatten 흐름 정리.
본 사이클 신설 메모리 (5/24 작성 / 갱신 분 일괄)
feedback_handoff_stale_negative_assertion.mdfeedback_node_report_autonomous_judgment.mdfeedback_correct_user_when_info_conflicts.mdfeedback_no_context_percent_estimation.mdfeedback_probe_directive_no_telegram_envvar.mdfeedback_meta_pattern_ack_learning.mdfeedback_two_channel_ack_after_cross_routing.mdfeedback_no_ask_for_delegation.mdfeedback_mac_report_explicit_title_arg.mdfeedback_mac_report_explicit_from_device.mdfeedback_workstealing_toggle_no_ack.mdfeedback_directive_deviation_must_be_marked.mdfeedback_alive_ping_on_long_diagnostics.mdfeedback_node_to_master_picks_via_tmux_channel.mdfeedback_self_pr_squash_merge_denial.mdfeedback_node_main_revert_policy.mdfeedback_notify_gui_permission_dialog.mdfeedback_reversible_archive_over_delete_no_ack.mdfeedback_result_report_next_step_chain.mdfeedback_user_hands_off_when_automation_exists.md
24개 중 5/24 globals 승격 마킹 박힌 건 6개 — 14개는 5노드 globals 미반영 carry (별 사이클 batch 진입 큐).
남은 작업 (carry over)
- (b) forward-to-group.sh silent fail 완화 (ack 픽 필요)
- (c) 노드별 .env 토큰 valid health check 자동화 (env-token-healthcheck.sh 박았으니 cron 등록 단계)
- (d) 네이버→Gmail POP3 fetcher 셋업 재진입
- (e) 본진 gog v0.19.0 keychain Always Allow 1클릭 (형님 GUI 필요)
- (f) 노트북→본진 mac-report.sh 간헐 hang 진단
- (g) AI 용어집 누적 자동 스킬
- (h) 본진 feedback 메모리 14건 globals 승격 batch (별 사이클 ack 후)
- (i) IG cron 실패 진단 (캐러셀 컨테이너 GET 권한 또는 API 응답 ID 변경)
- (j) mac-report.sh ssh chain mark cleanup fix 검증 (다음 fleet-clear 사이클)
- (k) mesh-vote skill phase 4 결과 알림 룰 갭 (참여 노드별 ack directive 자동 fan-out)
- (l) 본진 cron 잡 거짓 메시지 actor 추적 (Anthropic 비용 영향 점검)
- (m) B 옵션 광범 picks 분기 키워드 확장 검토 (false positive 위험 vs 재발 방지)
- (n) 메모요 1.0.7 D1/D2/D3 형님 ack (sync cron BLOCKER)
- 보존 branch (3) competitor-dutchpay 형님 판단
- insights/index.json slug entry 2개 누락 (보존 머지 후속)
본 사이클 추가 커밋
| repo | SHA | 메시지 |
|---|---|---|
| daejong-page | 2233c5a | insights: techbridge + kakkalan 2건 추가 (보존 branch 머지) |
| daejong-page | 8b7dce9 | auto: ai-glossary regenerate + index stats sync (post-commit hook) |
| daejong-page | 310512c | chore: repo-tracked post-commit hook (5노드 sync) |
| daejong-page | 6354f20 | feat: AI 용어집 stats 자동 sync — index.html marker block 갱신 |
| daejong-page | 5ec2175 | issues: SoT↔mirror sync — 11건 미러 복구 |
| daejong-page | 535d872 | ai-glossary: 컨벤션 + backfill + post-commit hook |
| daejong-page | 6d642b2 | insta-host: add carousel 20260524-235218 (5 cards, IG cron 실패) |
| claude-automations | 6636f7a | B 옵션: telegram-stop-ping 에 fleet-clear-ack 자동 mac-report |
| claude-automations | 74c0ce4 | mac-report: ssh chain 에 본진 pending mark cleanup |
| claude-automations | 6dbaf29 | deadlock self-heal: directive-callback-watch 2-min polling |
| claude-automations | dc2f432 | feat: cross-routing reverse ack check PreToolUse hook |
| claude-automations | cc33dfe | launchd: 본진 plist 11건 박제 + docs/automations 인덱스 update |
| claude-automations | 85b6e8a | gmail-pop3-watcher (#45) |
| claude-automations | 26a4448 | env-token-healthcheck: 5노드 .env 토큰 daily 401 surface |
| claude-automations | b8d329b | forward-to-group: 401 token-stale fallback diag |
| claude-skills | 5f131e0 | issues: 2026-05-24 master-node-idle-deadlock |
| claude-skills | d1fded1 / 88631dd | globals/CLAUDE.md (2회 강화) |
| claude-skills | ad5bbc9 / 9708ba0 | insight/SKILL.md (2회) |
| simple_memo_app | b5c4d8f | docs(memoyo-sync): SYNC_PROGRESS.md bootstrap |
누적 정산 (v1.0.0 + v1.0.1)
- 이슈 박제 7건: context-percent-mis-estimation / mac-mini-group-mirror-token-mismatch / master-node-idle-deadlock / notebook-autologin-wake-unlock / notebook-stop-hook-reply-tool-skip / notebook-to-mac-ssh-kex-mismatch / wsl-ack-missing-after-cross-routing.
- PR 머지 3건: #44 mac-report default auto-detect / #45 gmail-pop3-watcher / #75 send-message 스킬.
- 메이저 LIVE 1건: ai-glossary.html (54 용어 / 8 카테고리) + 자동 stats sync hook.
- 표준화 빚 변제 3건: 맥미니 토큰 mismatch + 노트북 stop hook reply 함정 + 데드락 메타 사이클 (A→B narrow).
- launchd 박제 16 jobs bootstrapped — SoT 일관성 확보.
- 들어간 시간 (오늘 본진 가동) = 약 8~9 시간 분량 작업.