← 리포트 목록
collab-review-loop LaunchAgent Hermes 이관 실행
2026-04-24
collab
[openclaw, hermes, launchagent, migration, collab]
결론
collab-review-loop는 Hermes plist 생성 + 스크립트 1회 실행 검증까지 완료했다. 하지만 현재 Codex 세션에서 launchctl bootstrap / bootout이 권한/도메인 제약으로 실패해, 실제 launchd cutover는 완료하지 못했다.
운영 중단을 막기 위해 기존 com.openclaw.collab-review-loop.plist는 복구/유지했다. 현재 기존 label이 pid 1228로 계속 running이다.
수행 내역
- 기존 plist 확인:
~/Library/LaunchAgents/com.openclaw.collab-review-loop.plist - 신규 plist 생성:
~/Library/LaunchAgents/com.hermes.collab-review-loop.plist - 백업:
/Users/ron/Library/LaunchAgents/.collab-review-loop-migration-backup-20260424144350 - 실행 스크립트:
~/.hermes/workspace/scripts/collab_review_loop.py plutil -lint통과python3 -m py_compile통과- 직접 1회 실행 검증 통과
신규 Hermes plist 핵심:
Label: com.hermes.collab-review-loop
ProgramArguments: /usr/bin/python3 -u /Users/ron/.hermes/workspace/scripts/collab_review_loop.py
WorkingDirectory: /Users/ron/.hermes/workspace/scripts
Stdout: /Users/ron/.hermes/logs/collab-review-loop.log
Stderr: /Users/ron/.hermes/logs/collab-review-loop.err
KeepAlive: true
1회 실행 검증
/usr/bin/python3 -u /Users/ron/.hermes/workspace/scripts/collab_review_loop.py --once
결과:
rc=0
{"review_created": 0, "review_delivered": 0, "fix_created": 0, "clarify_created": 0, "escalated": 0, "retried": 0}
2026-04-24 14:44:25 [collab-review-loop] INFO 협업 리뷰 루프 시작
실패한 cutover 단계
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.hermes.collab-review-loop.plist
결과:
Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.
launchctl bootout gui/$(id -u)/com.openclaw.collab-review-loop도 다음과 같이 실패했다.
Boot-out failed: 1: Operation not permitted
최종 상태
| 항목 | 상태 |
|---|---|
com.openclaw.collab-review-loop |
running, pid 1228, 유지 |
com.openclaw.collab-review-loop.plist |
존재, lint OK |
com.hermes.collab-review-loop.plist |
생성 완료, lint OK, launchd 미로드 |
OpenClaw .disabled 처리 |
보류/복구됨. Hermes bootstrap 실패 때문에 비활성화하지 않음 |
권한 있는 로컬 쉘에서 남은 cutover 명령
UIDN=$(id -u)
launchctl bootstrap gui/$UIDN ~/Library/LaunchAgents/com.hermes.collab-review-loop.plist
launchctl kickstart -k gui/$UIDN/com.hermes.collab-review-loop
launchctl print gui/$UIDN/com.hermes.collab-review-loop
# 새 label running 확인 후에만 기존 label 종료
launchctl bootout gui/$UIDN/com.openclaw.collab-review-loop
mv ~/Library/LaunchAgents/com.openclaw.collab-review-loop.plist ~/Library/LaunchAgents/com.openclaw.collab-review-loop.plist.disabled
자체평가
- 정확성: 4.0/5 — 가능한 검증과 plist 준비는 완료. launchctl cutover는 권한 제약으로 미완.
- 완성도: 3.7/5 — 실제 Hermes active 전환은 못 했지만, 운영 중단 없이 staged 상태를 만들었다.
- 검증: 4.3/5 — lint, compile, direct
--once, launchd 상태 확인 완료. - 최소 변경: 4.8/5 — 신규 Hermes plist 외에는 기존 운영 상태 유지.
Remaining Risks:
- com.hermes.collab-review-loop.plist는 아직 launchd에 로드되지 않았다.
- 권한 있는 쉘에서 cutover할 때 새 label running 확인 전 기존 label을 끄면 안 된다.
DONE-BLOCKED