Hermes migration batch AA real — 2026-04-14
결론
- batch AA 실제 이전 결과: 0/5 완료.
- 3개를 선별해 Hermes shell-job으로 변환하고
hermes_migration_verify.pydual-run을 시작했지만, 모두 1회차에서 OpenClaw 원본 실행 자체가 실패했고 strict diff도 0이 아니어서 즉시 rollback했다. - 안전 기준과 중복 금지 기준 때문에 추가 2개를 강제로 고르지 않았다. 남은 미선점 후보는 vault 변조, Gmail/OAuth 실패, 브라우저 큐 처리, LLM 장시간 작업, 알림 중복 발송, prompt-only라 현 verifier 불가 중 하나였다.
- OpenClaw는 3개 모두
enabled=true유지. Hermes AA 잡은 모두enabled=false,state=paused. - 삭제 없음. LaunchAgents 변경 없음.
shared/llm.py,shared/cycle_base.py변경 없음. Gateway PID 63520 유지 확인.
백업
- Hermes:
/Users/ron/.hermes/cron/jobs.json.bak-batchAA-real-20260414155922 - OpenClaw:
/Users/ron/.openclaw/cron/jobs.json.bak-batchAA-real-20260414155922
시도한 3개
| OpenClaw id | Hermes id | 변환 | dual-run | 최종 상태 | evidence |
|---|---|---|---|---|---|
research_intelligence_aggregator |
ocAA-AA000-research-intel |
shell-job | FAIL: openclaw_failed, hermes_exec_failed, watch_path_missing, strict_diff_mismatch |
Hermes paused / OpenClaw enabled 유지 | /Users/ron/.openclaw/workspace/verification/hermes-batch-AA-real/ocAA-AA000-research-intel/cycle-1/20260414_155922_research_intelligence_aggregator_ocAA-AA000-research-intel.json |
fed-liquidity-aggregator |
ocAA-AA001-fed-liquidity |
shell-job | FAIL: openclaw_failed, hermes_exec_failed, watch_path_missing, strict_diff_mismatch |
Hermes paused / OpenClaw enabled 유지 | /Users/ron/.openclaw/workspace/verification/hermes-batch-AA-real/ocAA-AA001-fed-liquidity/cycle-1/20260414_155923_fed-liquidity-aggregator_ocAA-AA001-fed-liquidity.json |
price-history-collector |
ocAA-AA002-price-history |
shell-job | FAIL: openclaw_failed, hermes_exec_failed, watch_path_missing, strict_diff_mismatch |
Hermes paused / OpenClaw enabled 유지 | /Users/ron/.openclaw/workspace/verification/hermes-batch-AA-real/ocAA-AA002-price-history/cycle-1/20260414_155925_price-history-collector_ocAA-AA002-price-history.json |
실패 원인
research_intelligence_aggregator: 원본 스크립트가save_json_atomic(result, OUTPUT)형태로 호출되어dict를 path로 취급하는 오류 발생. OpenClaw/Hermes 양쪽 모두 실패했다.fed-liquidity-aggregator: 2026-04-14 기준 필수 데이터WALCL,RRP,TGA가 모두None이라 원본 계산이 중단됐다.price-history-collector: 57개 티커 전부'NoneType' object is not subscriptable로 수집 실패했다. 현재 yfinance/네트워크 계층 문제로 보인다.
왜 5개를 채우지 않았는가
- 이미 다른 batch가 active Hermes 소유권을 가진 항목은 건드리지 않았다. 확인된 예:
choi-report-collect(batch S),daily-report(batch V),shipbuilding-excel-builder(batch Y/V),methodology-harvester(batch Q),daily-system-validator/critic-watcher-10m(batch X),agent-community-report(batch V). - 남은 command 후보 중 안전 기준을 통과하지 못한 항목은 제외했다.
- vault 변조/승격:
jisik-promote-dkzkyq,vault_linker,domain-wiki-compiler - 외부 업로드/브라우저/메일 OAuth:
vault-gdrive-backup,cu-queue-processor,gmail-credit-monitor,bond-morning-poll,gmail-newsletter-collector - 장시간/LLM/기존 timeout 실패:
sector_news_scorer,claude-practice-monitor,daily-code-review,bond-daily-report - 알림 중복·비결정 diff 위험:
task-briefing-morning,morning-review,vault-lint-daily - batch C 시도/제외로 판단한 항목:
gics-sector-tracker,urea-price-tracker - prompt-only OpenClaw job은 현재
hermes_migration_verify.py가payload.command만 검증해 dual-run 3회 기준을 만족시킬 수 없어 이전하지 않았다.
최종 검증
python3 -m json.tool ~/.hermes/cron/jobs.json통과python3 -m json.tool ~/.openclaw/cron/jobs.json통과hermes cron status: gateway/API/scheduler healthy, active jobs 118, next run2026-04-14T16:08:00+09:00lsof -nP -iTCP:18789 -sTCP:LISTEN: Python PID 63520 listen 확인python3 /Users/ron/.openclaw/workspace/scripts/knowledge_os.py mcp-check: 4/4 healthy- dashboard
:3344구조/큐 API는 응답 body가 비어 있었다. 이번 작업은 Hermes API와 로컬 JSON 검증으로 판정했다.
Remaining Risks
- OpenClaw
state.lastStatus=ok와 현재 실제 실행 결과가 어긋나는 job이 있다. 오래된 성공 상태만 보고 batch 후보를 고르면 실패한다. - 외부 네트워크/OAuth/Telegram 의존 job은 dual-run에서 비결정 diff가 반복된다. cutover 전 “알림 비활성 검증 모드” 또는 verifier normalization/response 추출 보강이 필요하다.
- prompt-only cron 이전은 별도 verifier 확장이 필요하다. 현재 harness로는
payload.message/systemEventjob의 diff 0 판정이 불가능하다.
자체평가
- 자체평가: 3.7/5 — 요청 기준 4.7 미달
- 정확성 4.2: 실패한 job은 모두 rollback했고 OpenClaw를 유지했다.
- 완성도 2.6: 5개 실제 이전 목표는 달성하지 못했다.
- 검증 4.3: verifier evidence, JSON, Hermes gateway/PID, MCP health를 확인했다.
- 최소변경 4.7: 실패한 AA Hermes 잡만 paused로 남기고 OpenClaw/공유 코드/LaunchAgents는 변경하지 않았다.