virtual-insanity
← 리포트 목록

batch_T_real

2026-04-14 hermes

Hermes migration batch T 실제 이전 보고

  • 작성: 2026-04-14T15:38:51+09:00
  • 결론: 5개 OpenClaw cron을 Hermes shell job으로 이전했고, harness dual-run 3회씩 모두 PASS했다. OpenClaw 원본은 삭제하지 않고 enabled=false로 전환했다.
  • 범위: batch=T prefix ocT-T000~ocT-T004; 기존 batch와 겹치지 않는 exact OpenClaw id만 사용했다.
  • 선정 기준: 남은 미선점 후보 중 5분 이내 실행, 결과 파일이 있는 작업, strict diff가 가능한 작업을 우선했다.

변경 파일

  • /Users/ron/.hermes/cron/jobs.json: ocT 5개 shell job 추가 및 verified_cutover 기록
  • /Users/ron/.openclaw/cron/jobs.json: 대상 5개 enabled=false, migration 메타 기록
  • /Users/ron/knowledge-agent/400-reports/260414_hermes_batch_T_real.md: 이 보고서

백업

  • Hermes: /Users/ron/.hermes/cron/jobs.json.bak-batchT-20260414T153532
  • OpenClaw disable 전: /Users/ron/.openclaw/cron/jobs.json.bak-batchT-disable-20260414T153731

이전 결과

sub-id OpenClaw id OpenClaw name Hermes id command schedule dual-run 최종 상태
T000 f6767371-becd-48ad-a030-bedb5c1a68de technical-stat-models ocT-T000-tech-stat-uuid5 python3 /Users/ron/.openclaw/workspace/scripts/pipeline/technical_stat_models.py every 120m 3/3 PASS OpenClaw disabled, Hermes scheduled
T001 d48e651d-0475-4faf-a44c-3a50d85471b3 technical-stat-models 기술통계모델 (2시간 주기) ocT-T001-tech-stat-uuid6 python3 /Users/ron/.openclaw/workspace/scripts/pipeline/technical_stat_models.py every 120m 3/3 PASS OpenClaw disabled, Hermes scheduled
T002 62f60664-1ec1-4b79-be24-549f4898d26e technical-stat-models / 기술통계모델 ocT-T002-tech-stat-uuid7 python3 /Users/ron/.openclaw/workspace/scripts/pipeline/technical_stat_models.py every 120m 3/3 PASS OpenClaw disabled, Hermes scheduled
T003 528c0c4f-9806-4d7a-9a71-b3ed746e94f1 technical-stat-models 기술통계모델 (2시간 주기) ocT-T003-tech-stat-uuid8 python3 /Users/ron/.openclaw/workspace/scripts/pipeline/technical_stat_models.py every 120m 3/3 PASS OpenClaw disabled, Hermes scheduled
T004 vault-lint-advanced-weekly Vault Lint Advanced 주간 점검 ocT-T004-vault-lint-advanced python3 /Users/ron/.openclaw/workspace/scripts/pipeline/vault_lint_advanced.py --no-telegram --no-llm 0 5 * * 0 3/3 PASS OpenClaw disabled, Hermes scheduled

검증 증거

  • 실행 도구: /Users/ron/.openclaw/workspace/scripts/hermes_migration_verify.py
  • 공통 옵션: --once-policy auto --hermes-exec direct --strict-diff
  • 전체 report JSON: 15개
  • 모든 run에서 openclaw=True, hermes_trigger=True, hermes_exec=True, watch=True, text_match=True
  • report grep 기준 [ALERT], 텔레그램 발송, 텔레그램 그룹 전송 완료, DM 전송 완료 문구 없음

T000 f6767371-becd-48ad-a030-bedb5c1a68de → ocT-T000-tech-stat-uuid5

  • PASS 20260414_153617_f6767371-becd-48ad-a030-bedb5c1a68de_ocT-T000-tech-stat-uuid5.json — delta=1ms, changed=['/Users/ron/.openclaw/workspace/memory/technical-signals/latest.json']
  • PASS 20260414_153618_f6767371-becd-48ad-a030-bedb5c1a68de_ocT-T000-tech-stat-uuid5.json — delta=0ms, changed=['/Users/ron/.openclaw/workspace/memory/technical-signals/latest.json']
  • PASS 20260414_153619_f6767371-becd-48ad-a030-bedb5c1a68de_ocT-T000-tech-stat-uuid5.json — delta=0ms, changed=['/Users/ron/.openclaw/workspace/memory/technical-signals/latest.json']

T001 d48e651d-0475-4faf-a44c-3a50d85471b3 → ocT-T001-tech-stat-uuid6

  • PASS 20260414_153621_d48e651d-0475-4faf-a44c-3a50d85471b3_ocT-T001-tech-stat-uuid6.json — delta=0ms, changed=['/Users/ron/.openclaw/workspace/memory/technical-signals/latest.json']
  • PASS 20260414_153622_d48e651d-0475-4faf-a44c-3a50d85471b3_ocT-T001-tech-stat-uuid6.json — delta=1ms, changed=['/Users/ron/.openclaw/workspace/memory/technical-signals/latest.json']
  • PASS 20260414_153623_d48e651d-0475-4faf-a44c-3a50d85471b3_ocT-T001-tech-stat-uuid6.json — delta=0ms, changed=['/Users/ron/.openclaw/workspace/memory/technical-signals/latest.json']

T002 62f60664-1ec1-4b79-be24-549f4898d26e → ocT-T002-tech-stat-uuid7

  • PASS 20260414_153625_62f60664-1ec1-4b79-be24-549f4898d26e_ocT-T002-tech-stat-uuid7.json — delta=0ms, changed=['/Users/ron/.openclaw/workspace/memory/technical-signals/latest.json']
  • PASS 20260414_153626_62f60664-1ec1-4b79-be24-549f4898d26e_ocT-T002-tech-stat-uuid7.json — delta=1ms, changed=['/Users/ron/.openclaw/workspace/memory/technical-signals/latest.json']
  • PASS 20260414_153627_62f60664-1ec1-4b79-be24-549f4898d26e_ocT-T002-tech-stat-uuid7.json — delta=1ms, changed=['/Users/ron/.openclaw/workspace/memory/technical-signals/latest.json']

T003 528c0c4f-9806-4d7a-9a71-b3ed746e94f1 → ocT-T003-tech-stat-uuid8

  • PASS 20260414_153629_528c0c4f-9806-4d7a-9a71-b3ed746e94f1_ocT-T003-tech-stat-uuid8.json — delta=0ms, changed=['/Users/ron/.openclaw/workspace/memory/technical-signals/latest.json']
  • PASS 20260414_153630_528c0c4f-9806-4d7a-9a71-b3ed746e94f1_ocT-T003-tech-stat-uuid8.json — delta=0ms, changed=['/Users/ron/.openclaw/workspace/memory/technical-signals/latest.json']
  • PASS 20260414_153631_528c0c4f-9806-4d7a-9a71-b3ed746e94f1_ocT-T003-tech-stat-uuid8.json — delta=1ms, changed=['/Users/ron/.openclaw/workspace/memory/technical-signals/latest.json']

T004 vault-lint-advanced-weekly → ocT-T004-vault-lint-advanced

  • PASS 20260414_153632_vault-lint-advanced-weekly_ocT-T004-vault-lint-advanced.json — delta=1ms, changed=['/Users/ron/.openclaw/workspace/memory/vault-lint-advanced/latest.json']
  • PASS 20260414_153648_vault-lint-advanced-weekly_ocT-T004-vault-lint-advanced.json — delta=0ms, changed=['/Users/ron/.openclaw/workspace/memory/vault-lint-advanced/latest.json']
  • PASS 20260414_153705_vault-lint-advanced-weekly_ocT-T004-vault-lint-advanced.json — delta=0ms, changed=['/Users/ron/.openclaw/workspace/memory/vault-lint-advanced/latest.json']

변환 메모

  • T000~T003: 남아 있던 technical-stat-models UUID systemEvent 중복 4개를 기존 검증된 shell command로 정규화했다.
  • T004: vault_lint_advanced.py는 원본이 텔레그램/LLM 경로를 포함하므로 Hermes 전환 command에 --no-telegram --no-llm을 붙여 발송/LLM side effect를 제거했다. 리포트와 latest.json 생성은 유지했다.

사후 확인

  • JSON parse: Hermes/OpenClaw jobs.json 둘 다 통과
  • harness syntax: python3 -m py_compile .../hermes_migration_verify.py 통과
  • 상태 invariant: 5개 모두 OpenClaw enabled=false, Hermes enabled=true, state=scheduled, migration.status=verified_cutover, dual_run_count=3
  • hermes cron status: Gateway running, HTTP API healthy, Scheduler tick healthy, 82 active jobs, next run 2026-04-14T15:40:00+09:00
  • LaunchAgents 변경 없음. 금지 파일 shared/llm.py, shared/cycle_base.py 수정 없음.

Remaining Risks

  • batch T도 안전성 때문에 technical-stat 중복 제거 비중이 높다. 카테고리 다양성은 T004로 일부 보완했지만 완전하지 않다.
  • T004는 원본 OpenClaw command의 텔레그램/LLM 경로를 제거한 안전 변환이다. 운영 의도가 “알림까지 포함한 원본 완전 동일 실행”이라면 별도 정책 결정이 필요하다.

자체평가

  • 정확성 4.7/5, 완성도 4.7/5, 검증 4.8/5, 최소 변경 4.7/5 → 종합 4.73/5