← 작업일지

2026-05-11 · v1.0.0

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

변경repocommit
stack/vibecoding 5노드 토폴로지 SVG + 5기 timeline + arch-grid 5카드daejong-page5161f6d
agent-msg-notify 5기기 매핑 확장 (desktop3060ti·hermes 추가)automations10700a7
desktop3060ti / hermes directive 스크립트 (SCP + tmux load-buffer + paste-buffer + Enter, tmux 세션 claude-main)automationsfd0d43a
BACKLOG-5node-mesh.mdskills92c7212 65b00ab
MACHINE_ROLES.md 갱신skillsa60ebaf
CLAUDE.md 4-way directive 운반체 룰 + 트리거 단어 매핑skills2137bf0

5노드 매핑:

이모지hostname역할
🍎USERui-MacBookPro@MyClaudeMac 본진
🪟DESKTOP-I4TR99I (WSL)@Myclaude2WSL Ryzen 3900X
🏭mac-mini@ssamssae_claw_botMac mini Codex/OpenClaw + launchd
🖥desktop-0vab3qc-2 (3060Ti)@jarvice_ssamssae_botLLM/SD/Whisper + 챗봇
💻desktop-4mnj1c0-1 (헤르메스)@ssamssae_codex_botHermes 에이전트 + 외출 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_container 2-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건)

  1. /schedule create 호출 시 기존 routine list 와 cron + 목적 키워드 비교 ≥ 80% 유사도면 컨펌 강제
  2. routine prompt 안 gho_/ghp_/github_pat_/AKIA/sk-/Bearer 패턴 grep 가드 + 환경변수 패턴 안내
  3. /todo 스킬에 same-path 외부 commit 감지 → diff surface + 컨펌 후 merge
  4. 메모리 신규: 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) — automations e75b5f9
    • ~/.claude/skills/goodnight/SKILL.md step 4.5 = “제거됨, 2026-05-11” 마킹 — skills 682c73f
  • 메모리 박음: 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 감지)

관련 커밋

repoSHA시각메시지
daejong-page3d46c2900:48docs: 작업일지 2026-05-10 v1.0.3
daejong-page99d199700:49done: 2026-05-10 추가
daejong-page2dba87301:03issue: launchd 자동 /clear 트리거 abort 반복 공개본 동기화
daejong-page5161f6d01:09stack/vibecoding: 5대 기기 노드 메시 반영
automations10700a701:31agent-msg-notify: 5기기 매핑 확장
skills9e6d70b ~ 89725e402:02~02:04insta-post-general v0.1 (SKILL.md + render.py + sample_cards.json + run.sh)
daejong-page97c1ec605:04Add newsletter topics 2026-05-11 (routine #1 자동 — 충돌 트리거)
daejong-pagead4d27107:17parking-lot: 데스크탑 3060Ti Clawd ↔ WSL Claude
automationsfd0d43a07:17desktop3060ti / hermes directive 스크립트
skills2137bf007:17CLAUDE.md: 4-way directive 운반체 룰
skillsa60ebaf 65b00ab08:51MACHINE_ROLES.md + BACKLOG-5node-mesh.md
daejong-pagedb20d4409:13todos 봉합: routine newsletter + /todo 병합
skills682c73f09:41goodnight/SKILL.md (step 4.5 제거)
automationse75b5f909:49launchd: com.claude.insta-post-nightly (매일 23:50 KST)
daejong-page25d684f11:50todos: GitHub PAT revoke 항목 추가
daejong-pagece9fba013:42issue: routine ↔ /todo 충돌 + PAT 평문 노출 공개본 동기화