← 이슈 목록

FROM THE WORKSHOP / 이슈

Codex(맥미니) ↔ 본진(Mac) 양방향 메시지 자동 회수 경로 부재

강대종 · 마이너스베타스튜디오

Codex(맥미니) ↔ 본진(Mac) 양방향 메시지 자동 회수 경로 부재

  • 발생 일자: 2026-05-12 (11:18 KST A 경로 ping 테스트 + 11:30 KST 경 B 경로 paste 운반)
  • 해결 일자: 미해결 — 회수 자동화 경로 없음. 사람 paste 운반이 유일 검증 경로.
  • 심각도: high (멀티 디바이스 fleet 운영에서 본진이 Codex 결과를 자동으로 받지 못함 = 강대종 hands-off 시간 확보 목표 자체와 충돌)
  • 재발 가능성: 100% (구조적 결함, 코드 변경 없으면 매번 재현)
  • 영향 범위: agent-mesh 6방향 소통, fleet-director Day implementer 결과 회수, 모든 macbook↔macmini 자동 워크플로우

증상

본진 챗봇이 Codex(맥미니)에 명령을 보낸 뒤 결과를 자동으로 회수할 수 없다. 강대종이 Codex 응답을 직접 paste 로 본진에 운반해야만 본진이 응답을 인지함.

구체적 테스트 (2026-05-12 11:18 KST):

  1. 본진에서 ~/.claude/automations/scripts/agent-msg-notify.sh macbook macmini 명령 "ping. ... 답변은 A 경로(이 텔레그램 채팅 reply)로 보내세요." 호출
  2. @ssamssae_claw_bot Telegram chat 에 [🍎→🏭] [명령] ping... 메시지 박힘 (스크린샷 확인)
  3. mac-mini gateway.log: 11:18:08 [ws] message.action 1036ms channel=telegram ← 수신 ok
  4. mac-mini agent-mesh.log: 11:18 [inbox-watcher] from=macbook body=ping... → inject OK: 1778552328-952739C4.json → Codex 응답 출력 mac-mini / 2026-05-12 11:19:04 KST
  5. 그러나 gateway.log 에 [telegram] sendMessage ok chat=<CHAT_ID> 0건 (= Codex 응답이 Telegram 으로 송신되지 않음)
  6. 강대종 폰의 @ssamssae_claw_bot chat 에도 응답 안 옴 → 강대종이 다른 어디선가(미상) Codex 응답을 보고 본진 채팅에 paste 로 운반

원인

agent-msg-notify.sh 가 Telegram chat 으로 메시지를 박지만, mac-mini 의 inbox-watcher 가 그 Telegram 메시지를 가로채서 Codex 에 inbox 경로로 inject. Codex 입장에선 메시지가 “inbox 시스템 컨텍스트” 로 들어왔기 때문에 응답을 자기 session stdout 으로 출력하고 끝낸다. Telegram reply 로 라우팅하는 코드 경로가 inject 케이스엔 연결돼 있지 않다.

즉 CLAUDE.md “오답: openclaw system event → 채팅창에 안 보임” 함정과 사실상 같은 구조. agent-msg-notify.sh 가 “Telegram chat 으로 보내지만 inbox-watcher 가 가로채서 system inject 가 되는” 형태로 동작.

B 경로 (inbox-write.sh --from macmini --to macbook --remote) 도 검증 시점에 자동 작동 안 함 — Codex 가 응답을 inbox-write 로 다시 쏘는 행동을 trigger 할 명시 가이드/code path 부재. mesh-vote 디버깅 (2026-05-10) 때 한 번 작동했던 흔적은 있으나 (agent-mesh.log 18:06 mesh-vote 1778403512 B+A patch dry test) 일반 명령에서는 작동 안 함.

조치 (현재)

자동 회수 0 → 사람 paste 운반만 가능 상태 그대로 인정. PR #1 머지 같은 후속 액션도 강대종이 paste 로 review 본문을 본진에 옮겨 와서 본진이 컨텍스트 보충 후 판단.

중요 결론 (강대종 명시 2026-05-12)

  • 현재 A/B 모두 자동 양방향 경로 아님.
  • Codex 응답 회수는 사람 paste 운반이 유일하게 검증된 경로.
  • agent-msg-notify.sh 관련 문구는 “명령 전달은 가능하지만 결과 자동 회수는 불가” 로 갱신 필요.

재발 방지 (follow-up)

todos / CLAUDE.md 갱신 필요:

  1. CLAUDE.md “맥미니(Codex) 명령 라우팅 — 필독” 섹션 갱신: 현재 “정답: agent-msg-notify.sh …” 표현은 명령 도착만 보장. 응답 자동 회수는 보장 X 임을 명시.
  2. fleet-director D07 implementer 영향 검토: Day implementer 가 mac-mini 에서 결과를 origin 으로 commit/push 하는 형태이므로 양방향 메시지 회수 부재가 즉시 blocker 는 아님. 하지만 ad-hoc 명령 (예: status 확인, manual override) 에서는 강대종 paste 필수 사실 명시.
  3. 장기 (P2): inbox-watcher 가 가로챈 메시지에 대해 Codex 가 응답할 때, Codex 가 명시적으로 Telegram reply tool 을 호출하도록 prompt template 강제. 또는 응답 후 자동으로 inbox-write.sh --remote 호출하는 wrapper.
  4. 장기 (P3): Telegram chat 자체에 박힌 메시지를 inbox-watcher 가 가로채지 않게 분리. agent-msg-notify.sh 가 박는 메시지는 그대로 chat 에 보이고, Codex 가 chat 메시지로 응답 → chat 으로 reply 가는 정상 흐름 복구.

학습

  • 문서(CLAUDE.md)와 실제 동작이 어긋날 때, 문서를 믿고 시간 쓰면 본질 진단이 늦어진다. “정답 / 오답” 으로 박혀 있어도 직접 reproducible 테스트로 확인하는 게 빠름.
  • agent-mesh.log 와 gateway.log 의 분기 — “수신 ok” 와 “응답 송신 ok” 는 별개 이벤트. 메시지 도착만 확인하면 안 되고, 응답 라우팅의 last leg (sendMessage) 까지 확인해야 함.
  • mesh-vote (2026-05-10) 가 한 번 작동했던 건 SESSION_ID + 명시적 라우팅 룰 inject 덕분으로 추정. 일반 자유 형식 명령으로는 안 됨 → 양방향 자동화는 명시적 protocol 위에서만 작동.
기록은 다음 시작이 됩니다.이슈 더 읽기 ↗이 작업장의 제품 ↗
작업장 전체 페이지 목적에 맞는 페이지 찾기