← 리포트 목록
OpenClaw kill phase1 — Hermes 이관 필요 4개 점검 및 b2g_signal_updater 이관
2026-04-24
hermes
[openclaw-kill, hermes-migration, b2g, cron]
결론
가장 안전한 1개인 b2g_signal_updater를 Hermes로 이관했다.
- OpenClaw:
b2g_signal_updaterdisabled 처리 - Hermes:
b2g_signal_updateractive 등록, 다음 실행2026-04-25T09:07:00+09:00 - 수동 실행 검증: 성공, 5개 B2G 시그널 갱신, missing 2개는 의도된 last-known 처리
1) 이관 필요 4개 점검
| 잡 | 종류 | 위치 | 코드 위치 | 의존성/주의 | 판단 |
|---|---|---|---|---|---|
com.openclaw.codex-proxy |
LaunchAgent | ~/Library/LaunchAgents/com.openclaw.codex-proxy.plist |
/Users/ron/chatgpt-codex-proxy/dist/index.js |
Node service, KeepAlive, 오늘 5.4→5.5 업데이트된 운영 본체. 로그는 ~/.hermes/logs/codex-proxy.log지만 스케줄/프로세스 소유권은 OpenClaw LaunchAgent |
가장 위험. 별도 설계 후 마지막에 이관 |
b2g_signal_updater |
OpenClaw jobs.json | ~/.openclaw/cron/jobs.json |
~/.openclaw/workspace/scripts/b2g_signal_updater.py |
shared.cycle_base, shared.db, shared.frontmatter, yfinance/requests. 결정론적이고 notify 없음 |
이번 이관 대상 |
daily-context-snapshot |
OpenClaw jobs.json | ~/.openclaw/cron/jobs.json |
~/.openclaw/workspace/scripts/pipeline/daily_context_snapshot.py |
OpenClaw/Hermes jobs 둘 다 읽고 ~/knowledge/800 운영/.../세션로그에 씀. 영향 작지만 해리 볼트 write 포함 |
다음 주 이관 후보 |
intelligence-discovery-filter |
OpenClaw jobs.json | ~/.openclaw/cron/jobs.json |
~/.openclaw/workspace/scripts/pipeline/discovery_filter.py |
shared.vault_paths, shared.evaluator, OpenClaw memory 경로 고정. Hermes에는 ocRESTORE-intelligence-cluster가 discovery_filter 포함 체인을 이미 갖고 있음 |
중복/통합 여부 확인 후 이관 또는 제거 |
2) 실행한 이관
백업
/Users/ron/.hermes/cron/jobs.json.bak-b2g-migration-20260424T140758/Users/ron/.openclaw/cron/jobs.json.bak-b2g-migration-20260424T140758/Users/ron/.hermes/workspace/scripts/b2g_signal_updater.py.bak-before-migration-20260424T140715
파일 복사/경로 보정
cp ~/.openclaw/workspace/scripts/b2g_signal_updater.py ~/.hermes/workspace/scripts/b2g_signal_updater.py
보정:
WORKSPACE = Path.home() / ".hermes" / "workspace"
기존 OpenClaw shared import 대신 Hermes shared를 쓰도록 실행 PYTHONPATH를 Hermes 기준으로 등록했다.
Hermes jobs.json 등록
{
"id": "b2g_signal_updater",
"enabled": true,
"state": "scheduled",
"schedule": {"kind": "cron", "expr": "7 9 * * *", "tz": "Asia/Seoul"},
"command": "PYTHONPATH=/Users/ron/.hermes/workspace/scripts:/Users/ron/.hermes/workspace/scripts/shared /usr/bin/python3 /Users/ron/.hermes/workspace/scripts/b2g_signal_updater.py",
"next_run_at": "2026-04-25T09:07:00+09:00",
"last_run_at": "2026-04-24T14:08:13+09:00",
"last_status": "ok"
}
OpenClaw jobs.json 비활성화
{
"id": "b2g_signal_updater",
"enabled": false,
"migration": {
"target": "hermes",
"hermes_id": "b2g_signal_updater",
"status": "verified_cutover",
"verified_at": "2026-04-24T14:08:13+09:00"
}
}
3) 검증 결과
구문/JSON
python3 -m py_compile /Users/ron/.hermes/workspace/scripts/b2g_signal_updater.py
python3 -m json.tool /Users/ron/.hermes/cron/jobs.json
python3 -m json.tool /Users/ron/.openclaw/cron/jobs.json
모두 통과.
dry-run
PYTHONPATH=/Users/ron/.hermes/workspace/scripts:/Users/ron/.hermes/workspace/scripts/shared /usr/bin/python3 /Users/ron/.hermes/workspace/scripts/b2g_signal_updater.py --dry-run
결과: 5개 시그널 계산 성공.
실제 실행
PYTHONPATH=/Users/ron/.hermes/workspace/scripts:/Users/ron/.hermes/workspace/scripts/shared /usr/bin/python3 /Users/ron/.hermes/workspace/scripts/b2g_signal_updater.py
출력:
- macro-signal-b2g-dod-budget.md: $1.5T total resources / $1.1T base discretionary / $350B mandatory (FY2027 topline) | updated=2026-04-24 | missing=False
- macro-signal-b2g-defense-backlog.md: Top2 confirmed $465.0B / Top5 est. $695.0B (RTX+LMT 공시, NOC/GD/BA last-known) | updated=2026-04-24 | missing=True
- macro-signal-b2g-chips-disbursement.md: $6.0B last-known disbursed (2025-07 snapshot); Commerce public page still says >$4B | updated=2026-04-24 | missing=True
- macro-signal-b2g-cfius-blocks.md: CY2024 hard-stop 9건 (abandoned 7 + presidential 2), mitigation 16건 | updated=2026-04-24 | missing=False
- macro-signal-b2g-ndaa-passage.md: FY26 NDAA enacted 2025-12-18 (P.L. 119-60); FY27 cycle upcoming | updated=2026-04-24 | missing=False
[b2g_signal_updater] dry_run=False date=2026-04-24 signals=5
상태 파일:
{
"run_at": "2026-04-24T14:08:13+09:00",
"date": "2026-04-24",
"dry_run": false,
"signals": 5,
"missing": [
"macro-signal-b2g-defense-backlog.md",
"macro-signal-b2g-chips-disbursement.md"
]
}
Hermes CLI 확인:
b2g_signal_updater [active]
Schedule: 7 9 * * *
Next run: 2026-04-25T09:07:00+09:00
참고: hermes cron run b2g_signal_updater도 호출했으나 CLI는 “next scheduler tick에 실행”으로 예약만 표시했다. 그래서 실제 검증은 동일 Hermes command 직접 실행 결과로 판정했다.
4) 잔존 3개 권고
daily-context-snapshot— 다음 이관 1순위. 단,~/knowledge/800 운영/.../세션로그write가 있으므로 output path를 유지할지knowledge-agentstaging으로 바꿀지 먼저 결정.intelligence-discovery-filter— Hermes의ocRESTORE-intelligence-cluster체인에 이미 포함되어 보인다. 독립 job으로 살릴지 cluster만 유지할지 중복 확인 후 OpenClaw 비활성 가능.com.openclaw.codex-proxy— 운영 본체라 LaunchAgent relabel/이관은 별도 롤백 플랜 필요. 지금 건드리지 않음.
자체평가
- 정확성: 4.4/5 — 4개 위치/코드/의존성 확인, 1개 실제 이관 및 실행 검증.
- 완성도: 4.3/5 — 백업, Hermes 등록, OpenClaw disable, 다음 실행 확인 완료.
- 검증: 4.4/5 — py_compile, JSON validation, dry-run, actual run, Hermes list 확인.
- 최소 변경: 4.5/5 — 한 잡만 이관, codex-proxy 등 위험 잡은 조사만 수행.
DONE