← 작업일지

2026-05-15 · v1.0.0

2026.05.15 작업일지 v1.0.0

5노드 다이나믹 loop-fleet 2 사이클 + 4 PR 머지 + Mac 본진 SSH key 발급 + 노트북3060 alias rename 풀 갈아치움 한 묶음. araseo-voice phase2 정리 + issue mirror redaction 룰 명문화 부수 처리. 점심 직전 /goodnight 박음.

오늘의 궤적

09:14 KST “새 세션이면 작업트리거 가자 / loop-fleet” 발화로 시작. 본진은 자동 트리거에 따라 todos 픽업 → 사이클 1 fan-out. 4 노드 가동 (Mac SSH key 발급 + WSL araseo PR #8 cleanup + 맥미니 KRX routing 실패 + 노트북3060 paste 실패). 12개월 전 헤르메스 노드가 잠들어 있었던 게 표면화 — 노트북3060 으로 전환된 후 alias·스크립트가 hermes-* 잔존해 paste 실패. 강대종이 노트북3060 직접 재기동 (claude pid 5188 bypassPermissions 박음) 후 사이클 2 진입, 이번엔 5 노드 풀 가동 PASS (맥미니 routing 한계만 남음). 그 후 강대종 “둘다” ack 로 araseo-voice PR #9 머지 + 본진 alias rename multi-repo PR 두 개 띄움. 마지막에 SSH key paste 실수 (GPG vs SSH 탭) 정정 후 등록 PASS. 14:00 KST /goodnight 박음.

loop-fleet 사이클 1 (10:10~10:18 KST)

4 노드 가동, 5번째 (노트북3060) paste 실패.

노드task결과
🍎 MacMac 본진 personal GitHub SSH key 발급자연 종료 (등록 강대종 손 대기)
🪟 WSLaraseo-voice PR #8 post-merge cleanup자연 종료, 검증 a/b/c 모두 PASS
🏭 맥미니주식 모니터링 앱 KRX API 연동codex-directive routing 한계 — tmux inject pending 반환만, 실수령 미확인
🖥 데스크탑3060Tiidle(해당 prefix task 없음)
💻 노트북3060 (hermes alias)hermes sync 셋업hermes-directive.sh “tmux ‘claude-main’ missing” — SSH/tmux 부재

Mac slot 결과:

  • ~/.ssh/id_ed25519_mac-bonjin ed25519 키 신규 생성 (comment “mac-bonjin 2026-05-15”)
  • ~/.ssh/config 에 Host github.com 블록 추가 (IdentityFile + IdentitiesOnly yes)
  • gh ssh-key add 시도 → admin:public_key scope 부재로 차단 (현재 토큰 scope: gist / read:org / repo)
  • 등록 두 갈래 surface: A) gh auth refresh -s admin:public_key, B) GitHub 웹 UI paste

WSL araseo PR #8 cleanup:

  • (a) 로컬 task5 branch 부재 PASS
  • (b) 원격 task5 HTTP 404 PASS (DELETE 호출도 no-op)
  • (c) 다음 가닥 = phase2 미완 (uncommitted 3파일 식별 사이클 2 에서 진행)
  • 신 autonomy 룰 (2026-05-15 ack) 으로 (3) gh api DELETE 도 자율 진행

노트북3060 재기동 (10:30 KST, 강대종 직접)

진단: claude pid 5188 이 2026-05-14 이전부터 살아있고 그 후 박힌 defaultMode: bypassPermissions 설정이 재시작 안 해서 반영 안 됨 → “Permission: Write” 알림 텔레그램 forward 발화 (Telegram 플러그인 정상 동작). 강대종이 구글리모트로 노트북3060 접속 → claude --channels plugin:telegram@claude-plugins-official 재기동 → 새 세션에 bypassPermissions 박힘 + tmux ‘claude-main’ 세션 정상.

본진에서 hermes-directive.sh paste ping 검증: 541 bytes paste 닿음 확인. 다만 노트북3060 → 본진 봇 채팅 reply 는 cross-bot ack channel forward 미완 (메모리 등재된 한계). 운용엔 영향 X — 노트북3060 자기 봇 채팅에서 강대종 직접 ack 가능.

loop-fleet 사이클 2 (10:40~10:51 KST)

5 노드 풀 가동.

노드task결과
🍎 Macissue file mirror redaction 정책 명문화 + SoT 갱신자연 종료, /issue SKILL.md step 14d 패턴 6항목 + drift A/B/C 처리 신설 + SoT 2026-05-08 갱신
🪟 WSLaraseo-voice phase2 식별 (read-only)자연 종료, phase2 브랜치 commit 차 0 placeholder 확인, uncommitted 3파일은 trio-vote B안 별건 잔여물
🏭 맥미니KRX API 연동 (재시도)또 routing 한계 재현 (codex-directive tmux inject pending)
🖥 데스크탑3060Tiread-only 노드 점검5/5 PASS (1TB 3% / RTX 3060Ti 8GB idle 502MiB / 2 repo clean)
💻 노트북3060 (hermes)sync 셋업6/6 OK — claude-automations SSH clone + rtk 0.39 → 0.40 musl 업그레이드

본진 Mac slot 결과:

  • /issue SKILL.md step 14d 에 마스킹 대상 6 패턴 박스 추가 (봇 토큰 정규식 / 봇 ID / 봇 username / 내부 호스트명 / 사적 이름 / 정규식 자체 / 사용자 절대경로)
  • SoT vs mirror drift 처리 단계 A/B/C 시나리오 신설 (diff -q step 0 + 풍부한 쪽 흡수 / 의도된 redaction 유지 / 충돌 시 ack)
  • SoT 2026-05-08-codex-session-relay-telegram-mirror.md<처음 생성> placeholder 갱신 + 2차 재발 본문 흡수 + frontmatter 격상 (medium → high)
  • auto-hook 가 commit + push 자동 처리 (claude-skills 3b05c01 + efd5280 + 3d2a6e0)

PR 머지 사이클 (10:33~11:28 KST)

강대종 “ㄱㄱ” + “둘다” + “머지” 연속 ack 받고 PR 3건 + draft 1건.

1. araseo-voice PR #9 (parser-mute-wordboundary, trio-vote B안)

  • WSL 사이클 2 에서 stash → 새 브랜치 → 2 commit (parser+test 코헤런트 / relogin hygiene 분리) → pytest 16 passed → push → PR #9
  • 본진이 squash merge (mergeCommit b978a22) + remote branch 자동 삭제
  • WSL 측 cleanup 자율 진행 (main b978a22 흡수 + 로컬 branch -D + 원격 stale prune)

2. claude-automations PR #16 (hermes → notebook3060 alias rename)

  • 본진 5 파일 변경 (28+/28-): scripts/hermes-directive.sh → notebook3060-directive.sh (git mv + 내부 변수 HERMES_DIRECTIVE_*NOTEBOOK3060_DIRECTIVE_* + SSH alias default + 메시지 / 주석 갱신), hooks/mac-report-reverse-reply-check.sh, scripts/loop-run.sh, scripts/agent-msg-notify.sh, scripts/setup-node.sh
  • backward compat: agent-msg-notify.sh 의 emoji_of + send token case 에 notebook3060|hermes|laptop|3060 alias 모두 살림 + TELEGRAM_BOT_TOKEN_NOTEBOOK3060 fallback chain (NOTEBOOK3060 → HERMES → DEFAULT) 으로 transition 안전
  • squash merge (mergeCommit 9589305), ~/.claude/automations + ~/claude-automations 양쪽 pull —ff-only

3. claude-skills PR #40 (loop-fleet SKILL + globals/CLAUDE.md 정합)

  • 2 파일 변경: loop-fleet/SKILL.md 의 hermes → notebook3060 일괄 (NODE 변수 + ASSIGN 키 + NODE_EMOJI 매핑 + paste 분기 case + 스크립트 호출), globals/CLAUDE.md 의 cross-device directive 송신 섹션 + reverse reply 룰 갱신
  • 보존: loop-fleet/design.md, loop-fleet/plan.md historical 보존 (작업 시점 기록), globals/CLAUDE.md 의 hermes 표기 일부도 backward compat 명시 의도 보존
  • squash merge (mergeCommit 87c452f8)

4. claude-automations PR #17 (draft) — asc-deliver.py 4 라인 orphan WIP 보존

  • 본진 alias rename 작업 중 ~/claude-automations 에서 untracked → modified 상태로 발견된 4 라인 (from __future__ import annotations + ai_attrs['name'] 메타 푸시)
  • 다른 사이클의 WIP 으로 추정, 분리 commit + draft PR 로 보존 (강대종 drop / merge / 추가 작업 결정 위임)

~/.ssh/config + .env + ping 검증 (11:15 KST)

PR #16 머지 후속:

  • ~/.ssh/config: Host hermesHost notebook3060 hermes 둘 다 같은 host 매핑 (backward compat)
  • ~/.claude/channels/telegram/.env: TELEGRAM_BOT_TOKEN_NOTEBOOK3060 신규 + TELEGRAM_BOT_TOKEN_HERMES 보존 (transition 안전)
  • notebook3060-directive.sh -f /tmp/notebook3060-rename-ping-2026-05-15.txt 실 호출 → ”✅ directive sent to Notebook3060 tmux session ‘claude-main’ (188 bytes)” — paste 닿음 + 새 메시지 형식까지 정상

Mac 본진 SSH key (11:32~11:37 KST)

강대종이 mac-bonjin 키 GitHub Settings → GPG keys 탭에 paste (실수) → “We got an error adding your GPG key. Please verify the input is a valid GPG key.” 에러. 본진이 SSH and GPG keys 페이지 (https://github.com/settings/ssh/new) 안내 + 터미널 한 줄 명령 (gh auth refresh -h github.com -s admin:public_key && gh ssh-key add ~/.ssh/id_ed25519_mac-bonjin.pub --title "mac-bonjin 2026-05-15") 제공. 강대종이 다음 paste → “You have successfully added the key ‘mac-bonjin’.” 등록 PASS.

본진 검증:

$ ssh -T git@github.com
Hi ssamssae! You've successfully authenticated, but GitHub does not provide shell access.

curl -s https://github.com/ssamssae.keys 로 GitHub 등록 키 4 → 5 증가 확인. mac-bonjin 본문 (AAAAC3NzaC1lZDI1NTE5AAAAIH843v4r5K+QeF2t5wrgS7yTum0DYR1qPVRf5ez/t7BY) 박힘. 5번째 노드 분업 정합 완료 — 5대 모두 personal SSH key 보유.

이슈 박제 — codex-directive routing stale (14:25 KST)

slug: 2026-05-15-codex-directive-routing-stale.md (medium / 재발 high)

핵심: mac-mini 가 2026-05-14 Claude Code 5번째 노드로 전환된 후 codex-directive.sh 가 옛 Codex/OpenClaw inbox 경로 (Telegram broadcast + ~/.openclaw/inbox-write.sh) 그대로 사용. mac-mini Claude Code 의 tmux ‘claude’ 세션에 직접 paste 메커니즘 미구현. loop-fleet 사이클 1+2 모두 동일 패턴 재현.

예방 (Forcing function):

  1. mac-mini-directive.sh 신규 (wsl/notebook3060 패턴 따라 SCP + tmux load-buffer + paste-buffer + Enter)
  2. CLAUDE.md cross-device 매핑 룰 갱신
  3. agent-msg-notify.sh macmini 케이스 보강
  4. loop-fleet/SKILL.md 매핑 갱신
  5. INDEX 검증 (다음 사이클 receipt 응답 확인)

todos.md 자동 매칭 (goodnight step 1.5)

4건 자동 완료 매칭 PASS:

  1. 🍎 📋 issue file mirror redaction 정책 명문화 (사이클 2 본진 작업)
  2. 🍎 🛠️ 5노드 동시 진행 1회 — parallel-cycle v0.9 풀 검증 (사이클 2 5노드 풀 가동, 4/5 PASS)
  3. 🪟 🧹 araseo-voice PR #8 post-merge cleanup WSL 측 (사이클 1 WSL 자율 PASS)
  4. 💻 🛠️ 헤르메스 sync 셋업 (사이클 2 6/6 OK)
  • 이번 사이클 활발 완료 2건:
  • 🍎 🔧 노트북3060 SSH alias / directive script rename (PR #16 + PR #40 + 검증 PASS)
  • 🍎 🔐 Mac 본진 personal GitHub SSH key 발급 (mac-bonjin + ssh -T PASS)

총 진행중 → 완료 이동 6 항목. 진행중 섹션 30+ → 24개 수준 정리.

관련 커밋

repoSHA메시지
simple_memo_app5517c1afeat(ux): 빈 메모 리스트 안내 문구 + 아이콘 개선
claude-automations9589305alias-rename: hermes → notebook3060 (#16)
claude-automations(#17 draft)asc-deliver: from future + ai_attrs[name] 분리 보존
claude-skills87c452f8alias-rename: hermes → notebook3060 — loop-fleet SKILL + globals/CLAUDE (#40)
claude-skills3d2a6e0issue 2026-05-08 frontmatter 격상 흡수
claude-skills3b05c01/issue SKILL.md redaction 룰 + drift A/B/C 처리
claude-skills42966eaissue 2026-05-15-codex-directive-routing-stale 신규
daejong-page다수todos 2026-05-15 6건 완료 + parking-lot 뉴스레터 cron + vibecoding epoch5 + stack OpenClaw decom 동기화 + issues mirror sync

araseo-voice PR #9 (b978a22) 는 사용자 private repo, 본 일지엔 메타만.

학습·상담

  • bypassPermissions 같은 settings 변경은 새 세션에만 박힘 → 재기동 안 한 채 며칠 두면 stale 박혀 작동 안 함. forcing function = SessionStart 훅 MCP server spawn 검증 todo 와 같은 맥락.
  • alias rename multi-file PR 은 한 PR 에 다 묶지 말고 repo 별 분리 (claude-automations + claude-skills 분리), backward compat fallback chain 박아 transition 안전.
  • redaction 룰은 구체 패턴 6 항목 명시화로 ad-hoc 판단 줄임. SoT vs mirror drift 감지는 diff -q 한 줄.

남은 작업

  • mac-mini-directive.sh 신규 + agent-msg-notify macmini 보강 + CLAUDE.md 매핑 (codex-directive routing fix)
  • asc-deliver draft PR #17 처분 결정
  • todos.md 진행중 24개 중 자율 진행 가능 가닥 다음 사이클에 픽업