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 | 결과 |
|---|---|---|
| 🍎 Mac | Mac 본진 personal GitHub SSH key 발급 | 자연 종료 (등록 강대종 손 대기) |
| 🪟 WSL | araseo-voice PR #8 post-merge cleanup | 자연 종료, 검증 a/b/c 모두 PASS |
| 🏭 맥미니 | 주식 모니터링 앱 KRX API 연동 | codex-directive routing 한계 — tmux inject pending 반환만, 실수령 미확인 |
| 🖥 데스크탑3060Ti | idle | (해당 prefix task 없음) |
| 💻 노트북3060 (hermes alias) | hermes sync 셋업 | hermes-directive.sh “tmux ‘claude-main’ missing” — SSH/tmux 부재 |
Mac slot 결과:
~/.ssh/id_ed25519_mac-bonjined25519 키 신규 생성 (comment “mac-bonjin 2026-05-15”)~/.ssh/config에 Host github.com 블록 추가 (IdentityFile + IdentitiesOnly yes)gh ssh-key add시도 →admin:public_keyscope 부재로 차단 (현재 토큰 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 | 결과 |
|---|---|---|
| 🍎 Mac | issue file mirror redaction 정책 명문화 + SoT 갱신 | 자연 종료, /issue SKILL.md step 14d 패턴 6항목 + drift A/B/C 처리 신설 + SoT 2026-05-08 갱신 |
| 🪟 WSL | araseo-voice phase2 식별 (read-only) | 자연 종료, phase2 브랜치 commit 차 0 placeholder 확인, uncommitted 3파일은 trio-vote B안 별건 잔여물 |
| 🏭 맥미니 | KRX API 연동 (재시도) | 또 routing 한계 재현 (codex-directive tmux inject pending) |
| 🖥 데스크탑3060Ti | read-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.mdstep 14d 에 마스킹 대상 6 패턴 박스 추가 (봇 토큰 정규식 / 봇 ID / 봇 username / 내부 호스트명 / 사적 이름 / 정규식 자체 / 사용자 절대경로)- SoT vs mirror drift 처리 단계 A/B/C 시나리오 신설 (
diff -qstep 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|3060alias 모두 살림 +TELEGRAM_BOT_TOKEN_NOTEBOOK3060fallback 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.mdhistorical 보존 (작업 시점 기록),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 hermes→Host 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):
mac-mini-directive.sh신규 (wsl/notebook3060 패턴 따라 SCP + tmux load-buffer + paste-buffer + Enter)- CLAUDE.md cross-device 매핑 룰 갱신
agent-msg-notify.shmacmini 케이스 보강loop-fleet/SKILL.md매핑 갱신- INDEX 검증 (다음 사이클 receipt 응답 확인)
todos.md 자동 매칭 (goodnight step 1.5)
4건 자동 완료 매칭 PASS:
- 🍎 📋 issue file mirror redaction 정책 명문화 (사이클 2 본진 작업)
- 🍎 🛠️ 5노드 동시 진행 1회 — parallel-cycle v0.9 풀 검증 (사이클 2 5노드 풀 가동, 4/5 PASS)
- 🪟 🧹 araseo-voice PR #8 post-merge cleanup WSL 측 (사이클 1 WSL 자율 PASS)
- 💻 🛠️ 헤르메스 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개 수준 정리.
관련 커밋
| repo | SHA | 메시지 |
|---|---|---|
| simple_memo_app | 5517c1a | feat(ux): 빈 메모 리스트 안내 문구 + 아이콘 개선 |
| claude-automations | 9589305 | alias-rename: hermes → notebook3060 (#16) |
| claude-automations | (#17 draft) | asc-deliver: from future + ai_attrs[name] 분리 보존 |
| claude-skills | 87c452f8 | alias-rename: hermes → notebook3060 — loop-fleet SKILL + globals/CLAUDE (#40) |
| claude-skills | 3d2a6e0 | issue 2026-05-08 frontmatter 격상 흡수 |
| claude-skills | 3b05c01 | /issue SKILL.md redaction 룰 + drift A/B/C 처리 |
| claude-skills | 42966ea | issue 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개 중 자율 진행 가능 가닥 다음 사이클에 픽업