virtual-insanity
← 리포트 목록

OpenClaw kill monitor 첫 DM + dual-run 구조화 로그 전환

2026-04-24 kill [openclaw, hermes, kill-monitor, dual-run, telegram]

결론

openclaw_kill_monitor.py --notify 첫 발송 완료. 동시에 heuristic 기반 dual-run 일치율 대신 dual_run_logs/YYYYMMDD/<job>/ 구조화 로그를 쓰도록 dual_run_compare.py와 monitor를 연결했다.

첫 DM 발송

실행:

/Users/ron/.hermes/hermes-agent/venv/bin/python3 \
  /Users/ron/.hermes/workspace/scripts/admin/openclaw_kill_monitor.py \
  --notify

결과:

  • message_id: 11999
  • baseline residual: 5
  • Hermes active: 70
  • structured dual-run: 0.0%

발송 문구:

[OpenClaw 사망 D-56] 잔존 5개 잡, Hermes 70개 가동, dual-run 구조화 0.0%

주의: 직전 baseline은 6/75였으나, 이번 --notify 실행 시점 재측정값은 5/70이다. 보고서에는 재측정값을 기준으로 기록했다.

dual-run 정식 로그 구조

루트:

/Users/ron/.hermes/workspace/memory/dual_run_logs/

일자별 구조:

/Users/ron/.hermes/workspace/memory/dual_run_logs/YYYYMMDD/
  summary.json
  <job-id>/
    openclaw_output.json
    hermes_output.json
    diff.json
latest_summary.json

현재 생성된 일자:

/Users/ron/.hermes/workspace/memory/dual_run_logs/20260424/

생성된 후보:

  • gmail-newsletter
  • cmux-cowork
  • analyst-macro
  • analyst-fundamental
  • analyst-technical
  • analyst-pm

diff.json 필드:

  • status
  • similarity_pct
  • pass
  • comparable
  • threshold_pct
  • openclaw_sha256
  • hermes_sha256
  • safe_dual_run

surface:8 dual_run_compare.py 통합

수정 파일:

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

변경:

  • 비교 실행 시 structured log 자동 생성
  • summary.jsonlatest_summary.json 생성
  • monitor가 latest_summary.json을 우선 읽도록 전환
  • 기존 markdown 보고서 생성은 유지
  • --no-structured-logs 옵션 추가

실행 결과:

/Users/ron/knowledge-agent/400-reports/20260424_dual_run_compare.md
verdict=OpenClaw 사망 보류 comparable=5 pass95=0

현재 structured summary:

{
  "candidate_count": 6,
  "comparable_count": 5,
  "pass_count": 0,
  "match_rate_pct": 0.0,
  "verdict": "OpenClaw 사망 보류",
  "log_dir": "/Users/ron/.hermes/workspace/memory/dual_run_logs/20260424"
}

monitor 연동

수정 파일:

  • /Users/ron/.hermes/workspace/scripts/admin/openclaw_kill_monitor.py

변경:

  • --notify 옵션 추가
  • dual-run 일치율 계산 순서 변경
  • /Users/ron/.hermes/workspace/memory/dual_run_logs/latest_summary.json
  • 없을 때만 기존 migration 보고서 heuristic fallback
  • DM 문구를 structured cache 여부에 따라 표시

보고서:

  • /Users/ron/knowledge-agent/400-reports/260424_openclaw_kill_progress.md

Cron:

  • openclaw-kill-monitor
  • 매일 09:00 KST
  • enabled=true

검증

  • python3 -m py_compile dual_run_compare.py 통과
  • python3 -m py_compile openclaw_kill_monitor.py 통과
  • dual_run_compare.py 실행 → structured logs 생성 확인
  • openclaw_kill_monitor.py --notify 실행 → 해리 DM 성공, message_id 11999
  • monitor report가 structured dual-run cache를 읽어 0.0% 표시 확인

자체평가

  • 정확성: 4.4/5 — heuristic 대신 structured cache 경로를 실제 생성·연동했다.
  • 완성도: 4.3/5 — 로그 구조, latest summary, monitor fallback, DM까지 완료.
  • 검증: 4.4/5 — py_compile, compare 실행, 로그 파일, DM 응답 확인.
  • 최소 변경: 4.2/5 — 기존 보고서 기능 유지하고 structured output만 추가.

종합: 4.3/5

DONE