2026.05.11 작업일지 v1.0.0
자정 직후 launchd /clear abort 5회 누적 사고로 출발 → 새벽 5기기 메시 토폴로지 + insta-post-general v0.1 → 새벽 5시 routine 자동 commit 이 매일 충돌 + PAT 평문 노출 발견 → 오전 봉합 + insta-post 별도 cron 분리 결정 → 오후 이슈 공개본 동기화 → 저녁 /goodnight 으로 하루 박제.
오늘의 궤적
자정에 어제 일지 v1.0.3 + done 을 push 하고 닫으려는 순간 launchd 자동 /clear 트리거가 abort 5+회를 쏟아냄. busy-loop 메시지 burst 와 idle 폴링이 부딪힌 구조적 결함. 이슈 박고(2026-05-11-launchd-clear-trigger-abort-loop) v2.3 forcing function todo 추가. 같은 새벽에 5대 기기 노드 메시 토폴로지를 stack.html 에 SVG 로 박고, agent-msg-notify 5기기 매핑 + desktop3060ti·hermes directive 운반체를 LIVE. insta-post-general 스킬 v0.1 (크라프트지+나눔펜+라인노트) 으로 일반인 톤 카드 5장 dry-run.
새벽 5시. Anthropic Cloud routine 뉴스레터-소재-수집 이 매일 자기 newsletter topics 를 강제로 commit. 같은 파일경로(todos/YYYY-MM-DD.md) 를 /todo 스킬도 쓰고 있어 매일 새벽 충돌 발생 중. 분석 중 routine prompt body 안에 GitHub PAT(gho_*) 평문이 박혀 있는 게 발견. 5곳(routine config + 클라우드 세션 로그 + jsonl + transcript + 채팅) 잔류. 09:35 봉합 — routine #1 disabled + redacted, 오늘 todos 병합 commit, 4기기 sync. PAT revoke 자체는 OAuth app revoke 사이클로 todos 등재(퇴근 후).
오전 작업 마무리. /goodnight 4.5단계의 insta-post 자동 호출 결합을 해체 — launchd com.claude.insta-post-nightly 매일 23:50 KST 단독 cron 으로 분리. /goodnight 호출 누락 = insta-post 도 누락이라는 결합 실패 차단. 오후엔 두 이슈(routine 충돌 + launchd /clear) 공개본을 daejong-page 에 동기화하고 저녁 /goodnight 호출.
새벽 0시 — launchd /clear abort 5회 누적
- 시간: 00:52~00:57 KST
- 증상: 텔레그램 메시지 burst 중 자동 /clear 트리거 fire 마다 20초 idle 폴링 timeout abort. 강대종 입장에선 “/clear 가 한참 안 됨”.
- 원인: v2.2 트리거의 idle 시그널(tmux pane “esc to interrupt” 부재 폴링) 이 메시지 간격 < 20s 인 burst 에서 영원히 충족 안 됨. v2.1→v2.2 fix 는 마커 보존만 해결, 발화 못 함은 그대로 남음.
- 임시 조치: 자연 idle 도래로 v2.2 트리거가 1회 발화 성공.
- 이슈 박음:
~/.claude/skills/issues/2026-05-11-launchd-clear-trigger-abort-loop.md - 공개본: daejong-page
2dba873동기화 - forcing function todo: session-clear-trigger.sh v2.3 — abort 시 retry counter 증가 + 5회 누적 시 텔레그램 알림 + 외부 강제 명령 한 줄 박기 (todos.md 진행중 추가)
새벽 1시 — 5대 기기 메시 토폴로지 LIVE
| 변경 | repo | commit |
|---|---|---|
| stack/vibecoding 5노드 토폴로지 SVG + 5기 timeline + arch-grid 5카드 | daejong-page | 5161f6d |
| agent-msg-notify 5기기 매핑 확장 (desktop3060ti·hermes 추가) | automations | 10700a7 |
desktop3060ti / hermes directive 스크립트 (SCP + tmux load-buffer + paste-buffer + Enter, tmux 세션 claude-main) | automations | fd0d43a |
| BACKLOG-5node-mesh.md | skills | 92c7212 65b00ab |
| MACHINE_ROLES.md 갱신 | skills | a60ebaf |
| CLAUDE.md 4-way directive 운반체 룰 + 트리거 단어 매핑 | skills | 2137bf0 |
5노드 매핑:
| 이모지 | hostname | 봇 | 역할 |
|---|---|---|---|
| 🍎 | USERui-MacBookPro | @MyClaude | Mac 본진 |
| 🪟 | DESKTOP-I4TR99I (WSL) | @Myclaude2 | WSL Ryzen 3900X |
| 🏭 | mac-mini | @ssamssae_claw_bot | Mac mini Codex/OpenClaw + launchd |
| 🖥 | desktop-0vab3qc-2 (3060Ti) | @jarvice_ssamssae_bot | LLM/SD/Whisper + 챗봇 |
| 💻 | desktop-4mnj1c0-1 (헤르메스) | @ssamssae_codex_bot | Hermes 에이전트 + 외출 SSH |
스코프 5건 중 3건 LIVE(.env 등록 + 운반체 + 매핑). 잔여 2건(parallel-cycle/mesh-vote/loop-run/fleet-director 5노드 분배 룰 + night-runner projects.yaml 등록)은 별도 후속 todo 로 분리.
새벽 2시 — insta-post-general 스킬 v0.1 dry-run
- 트리거: bycaffe 코멘트 — 일반인 대상 IG 캐러셀 톤이 필요. 기존 /insta-post 는 개발자 톤.
- v0.1 산출물 (skills
89725e4): SKILL.md + render.py + sample_cards.json + run.sh - 비주얼 톤: 크라프트지 배경 + 나눔펜 폰트 + 라인노트 + 빨간펜 언더라인 + 우상단 페이지번호 + 우하단 시그니처
- dry-run: PNG 5장 생성, 강대종 톤 OK 대기
- v0.2 잔여 (todos.md 진행중): LLM 카피 자동 생성 (Claude API + dev jargon grep 가드) + IG Graph API 캐러셀 발행 (
carousel_container2-step) + worklog md 자동 파싱 + posted-general.json dedup - 스펙: 데스크탑
~/.claude/plans/brainstorm-insta-post-general-2026-05-11.md
새벽 5시 → 오전 9시 — routine ↔ /todo 충돌 + PAT 평문 노출
- 05:04: routine #1
뉴스레터-소재-수집매일 newsletter topics 8줄 commit (97c1ec6, GitHub noreply email author) - 충돌 구조: 같은 파일경로(
~/daejong-page/todos/YYYY-MM-DD.md)를 /todo 스킬과 routine 둘 다 writer 로 사용. 도메인 협의 0. - PAT 발견: 충돌 분석 중 routine #1 prompt body 안에 GitHub PAT(
gho_*) 평문 박혀 있는 것 확인. 검증 HTTP 200 → 토큰 유효. 5곳 잔류 (routine config + 클라우드 세션 로그 + jsonl + transcript + 채팅). - 09:13: 오늘 todos 봉합 commit (db20d44) — local 262줄 + origin 8줄 newsletter 를
## 뉴스레터 소재 (auto-collected)섹션으로 흡수 - 09:35 해결: routine #1
enabled: false+ prompt 비활성 안내문 + PAT 자리를REVOKED_2026-05-11문자열로 교체. 4기기(WSL/Mac mini/Desktop/Hermes) claude-skills HEAD 동기화 (682c73f). - 11:50: PAT revoke todo 등재 (25d684f, 퇴근 후 OAuth app revoke + 다른 routine 재인증)
- 이슈 박음:
~/.claude/skills/issues/2026-05-11-routine-todos-collision-pat-leak.md - 공개본: daejong-page
ce9fba0(13:42) - 유지 routine:
trig_01RwLsU4z1BoJ1JHLRPFFbiX(뉴스레터 소재 자동 수집, 텔레그램 surface only — GitHub 쓰기 X)
예방 (forcing function 4건)
/schedule create호출 시 기존 routine list 와 cron + 목적 키워드 비교 ≥ 80% 유사도면 컨펌 강제- routine prompt 안
gho_/ghp_/github_pat_/AKIA/sk-/Bearer패턴 grep 가드 + 환경변수 패턴 안내 - /todo 스킬에 same-path 외부 commit 감지 → diff surface + 컨펌 후 merge
- 메모리 신규:
feedback_routine_no_hardcoded_secrets.md(✨ 박음)
오전 9시 — insta-post 별도 cron 분리
- 결정: /goodnight 4.5단계의 insta-post 자동 호출 코드 제거. launchd 단독 cron 으로 분리.
- 이유: /goodnight 호출 누락된 날(launchd 안 깨움 / 사용자 미호출) insta-post 도 함께 누락되는 결합 실패 차단. /goodnight 은 사용자 trigger 가 필요한 종합 동기화, insta-post 는 worklog 파일만 있으면 무조건 돌아도 안전.
- 변경:
~/.claude/automations/com.claude.insta-post-nightly.plist(LaunchAgent, 매일 23:50 KST) — automationse75b5f9~/.claude/skills/goodnight/SKILL.mdstep 4.5 = “제거됨, 2026-05-11” 마킹 — skills682c73f
- 메모리 박음:
project_insta_post_cron_split.md
오후 — 공개본 동기화 + 저녁 /goodnight
- 두 이슈(routine 충돌 + launchd /clear) 모두 daejong-page
issues/에 동기화 + index.json 갱신 - 저녁 /goodnight 호출 → 자동완료 todos 매칭 2건 close + 후속 todo 분리 1건 추가 + 결정 박제 4건(이 일지의 메타까지 포함)
인프라·스킬·자동화
- 이슈 신규 2건:
2026-05-11-launchd-clear-trigger-abort-loop.md,2026-05-11-routine-todos-collision-pat-leak.md - 메모리 신규 3건:
project_insta_post_cron_split.md,project_5node_mesh_topology.md,feedback_routine_no_hardcoded_secrets.md - 메모리 갱신 1건:
project_mac_mini_repurposed_openclaw.md(Codex 직접 워크스페이스 + Claude Code + launchd 워커 부활 반영) - 스킬 갱신:
goodnight/SKILL.md(step 4.5 제거),MACHINE_ROLES.md(5기기),BACKLOG-5node-mesh.md - CLAUDE.md: 4-way directive 운반체 룰 + 5기기 식별 표 5행 LIVE
- 자동화 추가: launchd
com.claude.insta-post-nightly(매일 23:50 KST), desktop3060ti / hermes directive 운반체
학습·상담
- 결합 실패 패턴 — /goodnight + insta-post 처럼 두 채널이 묶여 있으면 한쪽 누락이 다른 쪽도 죽인다. 분리 가능하면 분리 우선.
- routine prompt 안 시크릿 — bearer token 단독으로 풀 접근 가능, client_secret 불필요. 5곳 잔류 → revoke 사이클 강제.
- idle 폴링 한계 — busy-loop 시 fire 마다 timeout. retry counter + 알림으로 사람 의지 의존 최소화.
남은 작업
- session-clear-trigger.sh v2.3 (todos.md 진행중)
- insta-post-general v0.2 (LLM 카피 + IG 캐러셀 발행 + worklog 파싱 + dedup)
- GitHub Anthropic Claude OAuth app revoke + 다른 routine 재인증 (퇴근 후)
- 5노드 메시 후속 (parallel-cycle 5노드 분배 룰 + night-runner projects.yaml 등록)
- forcing function 3건 구현 (/schedule dedup 점검, secret grep 가드, /todo same-path 외부 commit 감지)
관련 커밋
| repo | SHA | 시각 | 메시지 |
|---|---|---|---|
| daejong-page | 3d46c29 | 00:48 | docs: 작업일지 2026-05-10 v1.0.3 |
| daejong-page | 99d1997 | 00:49 | done: 2026-05-10 추가 |
| daejong-page | 2dba873 | 01:03 | issue: launchd 자동 /clear 트리거 abort 반복 공개본 동기화 |
| daejong-page | 5161f6d | 01:09 | stack/vibecoding: 5대 기기 노드 메시 반영 |
| automations | 10700a7 | 01:31 | agent-msg-notify: 5기기 매핑 확장 |
| skills | 9e6d70b ~ 89725e4 | 02:02~02:04 | insta-post-general v0.1 (SKILL.md + render.py + sample_cards.json + run.sh) |
| daejong-page | 97c1ec6 | 05:04 | Add newsletter topics 2026-05-11 (routine #1 자동 — 충돌 트리거) |
| daejong-page | ad4d271 | 07:17 | parking-lot: 데스크탑 3060Ti Clawd ↔ WSL Claude |
| automations | fd0d43a | 07:17 | desktop3060ti / hermes directive 스크립트 |
| skills | 2137bf0 | 07:17 | CLAUDE.md: 4-way directive 운반체 룰 |
| skills | a60ebaf 65b00ab | 08:51 | MACHINE_ROLES.md + BACKLOG-5node-mesh.md |
| daejong-page | db20d44 | 09:13 | todos 봉합: routine newsletter + /todo 병합 |
| skills | 682c73f | 09:41 | goodnight/SKILL.md (step 4.5 제거) |
| automations | e75b5f9 | 09:49 | launchd: com.claude.insta-post-nightly (매일 23:50 KST) |
| daejong-page | 25d684f | 11:50 | todos: GitHub PAT revoke 항목 추가 |
| daejong-page | ce9fba0 | 13:42 | issue: routine ↔ /todo 충돌 + PAT 평문 노출 공개본 동기화 |