virtual-insanity
← 리포트 목록

batch_Q_real

2026-04-14 hermes

2026-04-14 Hermes migration batch Q 실제 이전

결론

  • 최종 이전 완료: 2개 / 목표 5개
  • 완료: cu-fnguide-snapshot, methodology-harvester
  • 미완료 사유: batch Q 진행 중 다른 배치(P/V/W/AB/AF)가 후보를 선점했고, 남은 후보 다수가 strict dual-run에서 실제 장애/비결정성/외부 네트워크 실패를 드러냄. diff 0이면 전환, 아니면 rollback 원칙을 지켜 실패 항목은 OpenClaw enabled 유지.
  • 코드/LaunchAgents 변경 없음: shared/llm.py, shared/cycle_base.py, LaunchAgents 미수정.

백업

  • Hermes jobs 백업: /Users/ron/.hermes/cron/jobs.json.bak-batchQ-20260414152608
  • OpenClaw jobs 백업: /Users/ron/.openclaw/cron/jobs.json.bak-batchQ-20260414162655

최종 이전 완료

OpenClaw ID Hermes ID 스케줄 검증 최종 상태
cu-fnguide-snapshot ocQ-Q003 0 17 * * 1-5 strict dual-run 3/3 PASS OpenClaw off / Hermes scheduled
methodology-harvester ocQ-Q010 0 9 * * 1,3,5 strict dual-run 3/3 PASS OpenClaw off / Hermes scheduled

검증 리포트

cu-fnguide-snapshot ↔ ocQ-Q003

  • /Users/ron/.openclaw/workspace/verification/hermes-migration/20260414_154048_cu-fnguide-snapshot_ocQ-Q003.json
  • /Users/ron/.openclaw/workspace/verification/hermes-migration/20260414_162259_cu-fnguide-snapshot_ocQ-Q003.json
  • /Users/ron/.openclaw/workspace/verification/hermes-migration/20260414_162447_cu-fnguide-snapshot_ocQ-Q003.json

methodology-harvester ↔ ocQ-Q010

  • /Users/ron/.openclaw/workspace/verification/hermes-migration/20260414_154613_methodology-harvester_ocQ-Q010.json
  • /Users/ron/.openclaw/workspace/verification/hermes-migration/20260414_162422_methodology-harvester_ocQ-Q010.json
  • /Users/ron/.openclaw/workspace/verification/hermes-migration/20260414_162630_methodology-harvester_ocQ-Q010.json

롤백/제외 항목

OpenClaw ID Hermes ID 결과 원인
gitnexus-reindex ocQ-Q000 rollback npx gitnexus analyze가 OpenClaw/Hermes 양쪽에서 600초 timeout
commodity-spike-morning ocQ-Q001 rollback Telegram send 실패 라인이 한쪽에만 생겨 strict diff mismatch
commodity-spike-watch ocQ-Q002 rollback yfinance failed-download ticker 순서가 비결정적이라 strict diff mismatch
hypothesis_lifecycle ocQ-Q004 rollback 3회차에서 Telegram send 실패 라인 때문에 strict diff mismatch
newspaper-collector ocQ-Q005 rollback Telegram user session 연결이 EPERM으로 실패
cu-queue-processor ocQ-Q006 rollback Playwright/Chromium launch EPERM + 임시 profile/PID 차이로 strict diff mismatch
gmail-credit-monitor ocQ-Q007 rollback Gmail OAuth DNS 실패로 command 자체 실패
vault_cleanup ocQ-Q008 rollback dual-run 중 실제 vault 상태가 바뀌어 결과가 달라짐; 비동시성/비멱등
jisik-promote-dkzkyq ocQ-Q011 rollback note_atomizer promote가 실제 vault를 변경해 2번째 실행 결과가 달라짐
vault-architect-afternoon ocQ-Q012 rollback 2회차에서 동시 실행 state tmp rename race 발생
oil-supply-monitor-afternoon ocQ-Q013 rollback 5분 초과 + strict diff mismatch
etf-data-collect-domestic-value ocQ-Q014 rollback 5분 초과/timeout failure
dm-analyst-prompt-refresh ocQ-Q015 rollback source command 자체가 KeyError: 'direct'로 실패

최종 상태 확인

ID OpenClaw enabled Hermes enabled Hermes state next_run
cu-fnguide-snapshot false true scheduled 2026-04-14T17:00:00+09:00
methodology-harvester false true scheduled 2026-04-15T09:00:00+09:00

JSON 검증

  • /Users/ron/.hermes/cron/jobs.jsonpython3 -m json.tool 통과
  • /Users/ron/.openclaw/cron/jobs.jsonpython3 -m json.tool 통과

발견한 운영 이슈

  • 16시 기준 다른 배치가 빠르게 후보를 선점: P/V/W/AB/AF 등에서 OpenClaw를 이미 disabled 처리한 항목이 생김. batch 시작 전뿐 아니라 disable 직전 재확인이 필수.
  • strict dual-run은 비멱등 작업에 불리함: cleanup/promote/architect류는 첫 실행이 상태를 바꿔 두 번째 실행 결과가 달라짐.
  • 외부 네트워크 의존 작업은 현재 불안정: Gmail OAuth DNS 실패, Telegram send 실패, Telegram user session EPERM, yfinance 비결정적 stderr.
  • Playwright/Chromium 계열은 launchd/sandbox 맥락에서 EPERM과 임시 profile/PID 차이 때문에 strict diff에 부적합.

권고

  • 다음 배치는 “read-only 또는 deterministic stdout” 후보만 먼저 선별해야 함.
  • Telegram/Gmail/yfinance/Playwright/LLM 포함 작업은 별도 migration lane으로 분리하고, strict diff 대신 artifact/hash 기준 또는 --dry-run/--no-telegram 동등성 정책을 먼저 합의해야 함.
  • cleanup/promote/architect처럼 상태를 바꾸는 작업은 dual-run 동시 실행 금지. shadow mode용 복제 workspace 또는 dry-run 검증이 필요.

자체평가

  • 정확성 4/5: 통과한 항목만 전환했고 실패 항목은 rollback했지만, 목표 5개 중 2개만 완료.
  • 완성도 4/5: 백업/검증/롤백/최종 상태 기록 완료.
  • 검증 5/5: 전환한 2개는 3회 strict dual-run PASS, JSON 검증 완료.
  • 최소 변경 5/5: cron JSON만 변경, 코드/LaunchAgents 미수정.
  • 종합 4.5/5.

최종 invariant 재확인

  • cu-fnguide-snapshot, methodology-harvester: OpenClaw disabled / Hermes enabled+scheduled 확인.
  • batch Q 실패/롤백 항목: OpenClaw enabled 유지, Hermes Q job paused 확인.
  • 최종 확인 시각: 2026-04-14 16:27 KST.