virtual-insanity
← 리포트 목록

OpenClaw 잔존 2개 dual-run 모니터 + LaunchAgent 6개 relabel 권고

2026-04-24 residual [openclaw, hermes, dual-run, launchagent, migration]

결론

  • 잔존 OpenClaw cron 2개(daily-context-snapshot, intelligence-discovery-filter)는 1주 dual-run 관측 대상으로 등록 완료.
  • 기존 dual_run_compare.py에 두 후보를 추가했고, Hermes cron에 openclaw-kill-dual-run-monitor를 매일 22:30 KST로 등록했다.
  • 현재 실측 diff: daily-context-snapshot 유사도 83.3%, intelligence-discovery-filter 유사도 1.4% → 둘 다 즉시 사망 금지, 1주 추적 필요.
  • LaunchAgent 6개는 전부 /Users/ron/.hermes/...를 실행하지만 label만 com.openclaw.*로 남아 있다. 실제 bootout/bootstrap은 이번 라운드에서 하지 않고, 아래 순서로 relabel 권고.

1. 변경/등록 내역

변경 파일

  • /Users/ron/.hermes/workspace/scripts/admin/dual_run_compare.py
  • daily-context-snapshot 후보 추가
  • intelligence-discovery-filter 후보 추가
  • filtered_*.json처럼 timestamp가 붙는 산출물을 정확히 잡기 위해 glob 비교 지원 추가
  • /Users/ron/.hermes/cron/jobs.json
  • daily-context-snapshot Hermes mirror job 추가
  • openclaw-kill-dual-run-monitor monitor job 추가

백업

  • /Users/ron/.hermes/workspace/scripts/admin/dual_run_compare.py.bak-residual2-20260424142242
  • /Users/ron/.hermes/cron/jobs.json.bak-residual2-20260424142242

2. 잔존 2개 dual-run 상태

OpenClaw 상태 Hermes 상태 모니터 결과 판정
daily-context-snapshot enabled=true, 0 9,22 * * *, 최근 ok Hermes mirror 등록, next 2026-04-24T22:00:00+09:00 latest 유사도 83.295% 1주 dual-run 유지
intelligence-discovery-filter enabled=true, 0 */6 * * * ocRESTORE-intelligence-cluster active, next 2026-04-25T01:00:00+09:00 filtered output 유사도 1.423% 1주 dual-run 유지, diff 원인 추적

모니터 cron

  • id: openclaw-kill-dual-run-monitor
  • schedule: 30 22 * * * Asia/Seoul
  • command: /usr/bin/python3 /Users/ron/.hermes/workspace/scripts/admin/dual_run_compare.py --output /Users/ron/knowledge-agent/400-reports/260424_dual_run_compare_residual.md
  • status: active
  • next_run: 2026-04-24T22:30:00+09:00
  • structured output:
  • /Users/ron/.hermes/workspace/memory/dual_run_logs/latest_summary.json
  • /Users/ron/.hermes/workspace/memory/dual_run_logs/20260424/*

1회 수동 실행 증거

/Users/ron/knowledge-agent/400-reports/260424_dual_run_compare_residual.md
verdict=OpenClaw 사망 보류 comparable=7 pass95=0 stale=6 death_candidates=6

daily-context-snapshot COMPARE_ONLY 83.295
intelligence-discovery-filter COMPARE_ONLY 1.423

3. LaunchAgent 6개 relabel 권고

실측 기준: launchctl print gui/501/<label>에서 6개 모두 running. plist의 ProgramArguments는 전부 /Users/ron/.hermes/... 경로를 실행한다.

현재 label 실행 대상 live 상태 권고 이유
com.openclaw.auto-dispatcher /Users/ron/.hermes/workspace/scripts/monitoring/auto_dispatcher.sh running com.hermes.auto-dispatcher로 relabel Hermes workspace만 사용. 다만 Telegram info 발송 경로가 있어 새 label로 dry-run 후 교체
com.openclaw.dispatch-watcher /Users/ron/.hermes/workspace/scripts/monitoring/dispatch_watcher.sh running com.hermes.dispatch-watcher로 relabel Hermes dispatch log 감시. 의존성 낮고 relabel 적합
com.openclaw.hermes-tailer /Users/ron/.hermes/workspace/scripts/pipeline/hermes_otel_tailer.py running com.hermes.tailer로 relabel 이름부터 Hermes 기능. OpenClaw label만 legacy
com.openclaw.task-notifier /Users/ron/.hermes/workspace/scripts/task_notifier.py --daemon running com.hermes.task-notifier로 relabel, 단 테스트 후 bus_commands 알림. Telegram ops 발송 있으므로 중복 방지 필요
com.openclaw.collab-review-loop /Users/ron/.hermes/workspace/scripts/collab_review_loop.py running 1순위 relabel 후보 Hermes DB/run/workspace만 사용. 발송 루프보다 리뷰 루프 성격, 안전
com.openclaw.otel-collector /Users/ron/.hermes/workspace/src/monitoring/run_collector.py running 유지 또는 마지막 relabel Hermes 관측 필수. 중단 리스크가 가장 크므로 마지막 단계에서 com.hermes.otel-collector로 교체 권고

권고 순서

  1. collab-review-loop — 영향 작고 Hermes-only.
  2. dispatch-watcher — 단순 파일 감시.
  3. hermes-tailer — Hermes 관측 보조.
  4. auto-dispatcher — dispatch 핵심이므로 새 label 병행 확인 후.
  5. task-notifier — Telegram 중복 방지 확인 후.
  6. otel-collector — 관측 본체라 마지막.

이번 작업에서는 실행 중 프로세스를 끊는 bootout/bootstrap은 하지 않았다. relabel은 다음 단계에서 새 com.hermes.*.plist 생성 → bootstrap 확인 → 기존 com.openclaw.* bootout 순서가 안전하다.

4. 검증 커맨드 요약

python3 -m py_compile /Users/ron/.hermes/workspace/scripts/admin/dual_run_compare.py
python3 -m json.tool /Users/ron/.hermes/cron/jobs.json
cd /Users/ron/.hermes/hermes-agent && venv/bin/python -m hermes_cli.main cron list | grep -i -A4 -B1 'daily-context\|dual-run'
/usr/bin/python3 /Users/ron/.hermes/workspace/scripts/admin/dual_run_compare.py --output /Users/ron/knowledge-agent/400-reports/260424_dual_run_compare_residual.md
launchctl print gui/$(id -u)/com.openclaw.otel-collector

5. 자체평가

  • 정확성: 4.5/5 — 잔존 2개를 실제 비교 후보와 cron 모니터에 연결. daily Hermes job이 jobs.json에 없어 mirror job을 복구했다.
  • 완성도: 4.3/5 — relabel은 권고까지 완료. 실제 relabel/bootout은 중단 리스크 때문에 다음 단계로 분리.
  • 검증: 4.5/5 — py_compile, JSON validation, Hermes cron list, 수동 비교 실행 확인.
  • 최소 변경: 4.4/5 — 비교 스크립트 후보 추가와 jobs.json 2개 job 추가만 수행.

Remaining Risks: - intelligence-discovery-filter diff가 1.4%로 매우 큼. 1주 관측 중 count/입력 소스 차이를 별도 추적해야 한다. - LaunchAgent relabel 시 task-notifier/auto-dispatcher는 Telegram 중복 발송 가능성이 있어 병행 구동 금지.

DONE