virtual-insanity
← 리포트 목록

OpenClaw 단계적 사망 — 첫 dual-run 셋업

2026-04-24 first [openclaw, hermes, migration, dual-run, cron]

OpenClaw 단계적 사망 — 첫 dual-run 셋업

결론

3개 후보를 점검했고, 실제 OpenClaw 재가동은 보류했다. 이유는 “silent mode가 검증된 안전 실행”이 아니기 때문이다.

대신 오늘 가능한 안전 조치로 아래를 완료했다.

  • 읽기 전용 비교 스크립트 생성: /Users/ron/.hermes/workspace/scripts/admin/dual_run_compare.py
  • Hermes cron 등록: dual-run-compare-0930, 매일 09:30 KST
  • 즉시 1회 실행: /Users/ron/knowledge-agent/400-reports/20260424_dual_run_compare.md 생성
  • 오늘 판정: OpenClaw 사망 보류

1. 후보별 점검

후보 OpenClaw 상태 Hermes 상태 dual-run 안전성 조치
Gmail newsletter collector gmail-newsletter-collector, enabled=false ocAQ-AQ004-gmail-newsletter-command, enabled=true 주의. --no-digest는 있으나 Gmail state/processed_ids를 mutate함 OpenClaw 재가동 보류, 결과 비교만
cmux_supervisor / cowork cowork 3종 enabled=false, cmux는 스크립트 존재 cowork memory는 Hermes에 있으나 동등 cron 불명확 위험. agent/prompt job이고 부작용 가능 OpenClaw 재가동 보류, artifact 비교만
analyst 4종 macro/fundamental/technical/pm 전부 enabled=false Hermes memory 최신 생성 중 위험. legacy prompt job은 LLM/발송 가능, NO_SEND 강제 불명확 OpenClaw 재가동 보류, artifact 비교만

2. 잡·코드 위치

Gmail newsletter

  • OpenClaw job: gmail-newsletter-collector
  • schedule: 47 6 * * *
  • enabled: false
  • script: /Users/ron/.openclaw/workspace/scripts/pipeline/gmail_newsletter_collector.py
  • Hermes job: ocAQ-AQ004-gmail-newsletter-command
  • schedule: 47 6 * * *
  • enabled: true
  • wrapper: /Users/ron/.hermes/workspace/scripts/pipeline/gmail_newsletter_collector_dual.sh

Gmail OpenClaw collector는 --no-digest 옵션이 있어 발송은 막을 수 있지만, state.jsonprocessed_ids를 갱신한다. 그래서 “실행은 하되 결과만 비교” 모드가 아니다.

cmux / cowork

  • OpenClaw jobs:
  • cowork-daily-review: enabled=false
  • cowork-lite: enabled=false
  • cowork-full: enabled=false
  • OpenClaw script:
  • /Users/ron/.openclaw/workspace/scripts/cmux_supervisor.py
  • Hermes artifacts:
  • /Users/ron/.hermes/workspace/memory/cowork-history/latest.json

Hermes에 cmux/cowork 동등 cron이 명확히 1:1 매핑되어 있지 않다. 현재는 “OpenClaw 그냥 사망 가능” 후보로 보고, 자동 비교에서 stale 여부를 계속 본다.

analyst 4종

OpenClaw legacy jobs는 모두 disabled:

  • analyst-macro-agent
  • analyst-fundamental-agent
  • analyst-technical-agent
  • analyst-pm-agent

Hermes는 최신 memory 생성 확인:

  • /Users/ron/.hermes/workspace/memory/analyst-macro/latest.json — 2026-04-24 12:54
  • /Users/ron/.hermes/workspace/memory/analyst-fundamental/latest.json — 2026-04-24 13:13
  • /Users/ron/.hermes/workspace/memory/analyst-technical/latest.json — 2026-04-24 07:20
  • /Users/ron/.hermes/workspace/memory/analyst-pm/latest.json — 2026-04-24 12:38

OpenClaw analyst latest는 04-15에서 멈춰 있다. legacy prompt job은 발송/LLM 호출 가능성이 있어 재가동하지 않았다.

3. 비교 스크립트

생성:

/Users/ron/.hermes/workspace/scripts/admin/dual_run_compare.py

동작:

  • OpenClaw/Hermes jobs.json 읽기
  • 후보별 최신 artifact 탐색
  • 텍스트 유사도 계산
  • ~/knowledge-agent/400-reports/YYYYMMDD_dual_run_compare.md 생성
  • Telegram/API 발송 없음
  • legacy job 실행 없음

검증:

py_compile OK
/Users/ron/.hermes/workspace/scripts/admin/dual_run_compare.py 실행 OK
생성 보고서: /Users/ron/knowledge-agent/400-reports/20260424_dual_run_compare.md
verdict=OpenClaw 사망 보류 comparable=5 pass95=0

4. Hermes cron 등록

등록 job:

id: dual-run-compare-0930
schedule: 30 9 * * * Asia/Seoul
enabled: true
silent: true
command: PYTHONPATH=/Users/ron/.hermes/workspace/scripts /usr/bin/python3 /Users/ron/.hermes/workspace/scripts/admin/dual_run_compare.py
next_run_at: 2026-04-25T09:30:00+09:00

백업:

/Users/ron/.hermes/cron/jobs.json.bak-dual-run-compare-<timestamp>

5. 오늘 1회 비교 결과

| candidate | status | similarity | OpenClaw latest | Hermes latest |
| gmail-newsletter | COMPARE_ONLY | 3.1% | 2026-04-24 07:00:51 | 2026-04-24 06:53:36 |
| cmux-cowork | COMPARE_ONLY | 7.0% | 2026-04-15 04:09:28 | 2026-04-23 04:05:40 |
| analyst-macro | COMPARE_ONLY | 3.0% | 2026-04-15 07:06:24 | 2026-04-24 12:54:13 |
| analyst-fundamental | COMPARE_ONLY | 3.4% | 2026-04-15 07:18:39 | 2026-04-24 13:13:54 |
| analyst-technical | MISSING_PAIR | 0.0% | - | 2026-04-24 07:20:02 |
| analyst-pm | COMPARE_ONLY | 3.0% | 2026-04-15 07:44:10 | 2026-04-24 12:38:58 |

해석:

  • OpenClaw 쪽은 대부분 04-15에서 멈춘 상태다.
  • Hermes는 최신 artifact를 계속 만들고 있다.
  • 현 상태는 “dual-run 95% 일치”가 아니라 “OpenClaw stale / Hermes active” 상태다.
  • 그래서 자동 비교는 켰지만, OpenClaw death OK 판정은 아직 보류다.

6. 다음 판정 기준

1주일 동안 YYYYMMDD_dual_run_compare.md가 쌓이면 아래 기준으로 판단한다.

  • Hermes 최신 artifact가 매일 생성됨
  • OpenClaw가 계속 stale이고 운영 영향이 없으면 “OpenClaw 사망 가능”
  • 만약 silent dual-run이 필요한 잡은 먼저 dry-run/no-send/state-copy 모드를 구현해야 함
  • artifact similarity 95%+가 7일 유지되는 잡은 OpenClaw 완전 사망 OK

자체평가

기준 점수 근거
정확성 4.1/5 3개 후보 잡/코드/상태 확인, 비교 스크립트와 cron 등록 완료. 단, OpenClaw 실제 silent 재가동은 안전하지 않아 보류
완성도 4.1/5 보고서, 스크립트, jobs.json 등록, 1회 실행 결과까지 완료
검증 4.2/5 py_compile, 직접 실행, 보고서 생성, cron 등록 확인
최소 변경 4.5/5 Hermes admin 스크립트와 Hermes cron만 추가. OpenClaw legacy 재가동 없음

종합: 4.2/5

DONE