virtual-insanity
← 리포트 목록

08-17 롤백 때 사유 없이 멈춘 크론 38개 분류표

2026-09-28 hermes [ops, cron, triage, rollback-0817]

08-17 롤백 때 사유 없이 멈춘 크론 38개 분류표 (조회만, 변경 없음)

[점검]

  • 대상: /Users/ron/.hermes/cron/jobs.json (mtime 2026-09-28 10:03, 전체 158개 / 활성 50개)
  • 조건: enabled=False AND paused_at 가 2026-08-17 로 시작 AND paused_reason 비어 있음 → 38개 (조회 2026-09-28 10:04 KST)
  • 각 잡: id, name, last_status, last_error 앞 80자, command 안 스크립트 경로 추출 → test -f 와 grep -c 'openai\|chat.completions\|llm' 실행
  • 보조 확인: grep -cE 'from shared.llm|import llm|llm_chat'(실제 LLM 호출 여부), 에너지·비료·호르무즈 키워드 grep
  • 크론은 켜거나 끄거나 지우지 않았다.

[수치]

묶음 정의 개수
A 셸 전용·스크립트 있음·LLM 없음·마지막 성공(ok) → 재가동 후보 3
B 스크립트 없음·에러 → 정리 후보 0
C 해리 제외 주제(에너지·질소비료·호르무즈) → 정지 유지 4
D1 (A/B/C 밖) 셸 전용·스크립트 있음·LLM 없음·마지막 에러=429 한도초과 → 조건부 재가동 후보(수동 1회 확인 후) 20
D2 (A/B/C 밖) 스크립트 있음·LLM 호출 있음·마지막 429 → 비용 검토 후 판단 3
D3 (A/B/C 밖) 원래 끌 대상 신호(검증 전 격리 태그·임시 모니터·기한 지난 이중운영·설정결함) → 정지 유지 권고 8
합계 38
  • 스크립트 파일은 38개 전부 실존(test -f 38/38 통과) → B(스크립트 없음)는 0개.
  • 마지막 상태: ok 5개 / error 33개. error 33개 중 32개가 HTTP 429 usage_limit_reached(08-14~08-16 실행분), 1개(etf-radar-domestic)는 no_agent=True but no script is set.
  • LLM grep 0건인 순수 셸 잡(예: fed-liquidity-aggregator, economic-calendar-daily)도 같은 429를 받았다 → 이 429는 스크립트 자체가 아니라 당시 스케줄러 공통 한도초과 사건에서 붙은 것. 스크립트 결함 근거가 아니다.
  • 정지 시각 분포: 08-17 13:31 30개 + 13:32 6개(41초 안에 일괄 정지, 사유 공란) / 18:01 2개(etf-radar 둘, 별도 사건).
  • 현재 활성 50개 중 last_error에 429가 남은 잡은 0개.

[판단]

  • 롤백 부수효과로 멈춘 것(재가동 검토 대상): A 3 + D1 20 + D2 3 = 26개. 개별 결함 없이 429 사건 직후 일괄 정지된 묶음.
  • 원래 끌 대상이었던 것(정지 유지): C 4 + D3 8 = 12개.
  • 즉시 조치: 없음(조회 작업). 크론 재활성화는 해리 확인 대상.
  • 해리 확인 필요: A 3개 재가동 여부, D1 20개는 수동 1회 실행으로 정상 종료 확인 후 재가동 여부.

분류표 (38행)

# 묶음 id name last_status last_error 앞 80자 스크립트 경로 test -f LLM grep 비고
1 A hmig-kpi-weekly com.openclaw.kpi-weekly migrated from OpenClaw LaunchAgent ok - /Users/ron/.hermes/workspace/scripts/pipeline/kpi_telegram_wrapper.py 있음(0) 0 태그 review-before-enable — 켜기 전 발송처 확인
2 A macro-series-collector macro-series-collector FRED macro timeseries collector ok - /Users/ron/.hermes/workspace/scripts/pipeline/macro_series_collector.py 있음(0) 0 크레딧 스프레드(BAMLC0A0CM 등) 원천 — 일부 시리즈는 fi-morning-brief가 대체 수집 중
3 A ocRESTORE-copper-market-collector copper-market-collector ok - /Users/ron/.hermes/workspace/scripts/pipeline/copper_market_collector.py 있음(0) 0 원자재(구리) — 해리 제외주제 아님, 현 관심(크레딧)과는 거리
4 C ocCRIT-oil-supply-monitor-global 글로벌 석유 공급망 모니터 error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/oil_supply_monitor.py 있음(0) 8 석유·호르무즈 공급망(키워드 552회), LLM 호출
5 C ocRESTORE-refining-tracker refining-tracker error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/refining_tracker.py 있음(0) 0 에너지·정유
6 C ocRESTORE-tanker-tracker tanker-tracker error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/tanker_tracker.py 있음(0) 0 에너지·탱커 해운
7 C ocRESTORE-urea-price-tracker urea-price-tracker ok - /Users/ron/.hermes/workspace/scripts/pipeline/urea_price_tracker.py 있음(0) 0 질소비료(요소)
8 D1 alarm-center-daily-audit alarm-center-daily-audit error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/admin/alarm_center_daily_audit.py 있음(0) 0
9 D1 alarm-center-post-release-check alarm-center-post-release-check error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/admin/alarm_center_post_release_check.py 있음(0) 0
10 D1 economic-calendar-daily economic calendar daily collector error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/economic_calendar.py 있음(0) 0
11 D1 fed-liquidity-aggregator fed-liquidity-aggregator Fed liquidity aggregator error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/fed_liquidity_aggregator.py 있음(0) 0
12 D1 guard-orchestrator-5min guard orchestrator 5min error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/admin/morning_briefing_guard.py 있음(0) 0 CRITICAL DM 발송 — 켜기 전 오탐 여부 확인
13 D1 hermes-drift-recovery Hermes drift recovery error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace-root-scripts/ops/drift_recovery.py 있음(0) 0 legacy T18C 복원본
14 D1 hermes-evidence-sentinel Hermes evidence sentinel error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace-root-scripts/ops/evidence_sentinel.py 있음(0) 0 legacy T18C 복원본
15 D1 hermes-heartbeat Hermes heartbeat error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace-root-scripts/ops/heartbeat.py 있음(0) 0 legacy T18C 복원본
16 D1 hmig-kpi-daily com.openclaw.kpi-daily migrated from OpenClaw LaunchAgent error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/kpi_telegram_wrapper.py 있음(0) 0
17 D1 kr-index-close-refresh KOSPI/KOSDAQ close refresh error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/kr_index_close_refresh.py 있음(0) 0
18 D1 kr-research-collector kr-research-collector 한국 리서치 수집 error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/kr_research_collector.py 있음(0) 2 grep 2건은 llm_score 필드명뿐(실제 LLM 호출 없음)
19 D1 morning-audit-result-notifier morning-audit-result-notifier error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/admin/morning_audit_result_notifier.py 있음(0) 0
20 D1 morning-full-audit morning-full-audit error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/admin/morning_full_audit.py 있음(0) 0
21 D1 ocAQ-AQ004-gmail-newsletter-command gmail-newsletter-collector error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/gmail_newsletter_collector_dual.sh 있음(0) 0
22 D1 ocRESTORE-analyst-channel-collector analyst-channel-collector Hermes market inputs error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/analyst_channel_collector.py 있음(0) 0 grep 0
23 D1 ocRESTORE-market-indicator-tracker market-indicator-tracker error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/market_indicator_tracker.py 있음(0) 0
24 D1 ocRESTORE-sector-research sector-research 섹터 6단계 분석 집계 error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/sector_research.py 있음(0) 0
25 D1 ocRESTORE-vault120-sync vault120-sync Harry vault to agent inbox sync error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/vault120_sync.py 있음(0) 0
26 D1 ops-syncer ops-syncer error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace-root-scripts/ops/ops_syncer.py 있음(0) 0
27 D1 pipeline-orchestrator-watchdog pipeline_orchestrator watchdog error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/admin/pipeline_orchestrator_watchdog.py 있음(0) 0 재기동 동작 포함 — 켜기 전 대상 프로세스 생존 확인
28 D2 oc118-channel-collector channel-collector 118 텔레그램 수집 error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/channel_collector.py 있음(0) 2 shared.llm llm_chat_direct 호출
29 D2 ocRESTORE-sector-news-scorer sector-news-scorer Hermes S-code scoring error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/sector_news_scorer.py 있음(0) 3 shared.llm llm_chat_direct 호출
30 D2 ocTC-twitter-collector twitter-collector X/Twitter following collector error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/twitter_collector.py 있음(0) 3 shared.llm llm_chat_direct 호출
31 D3 daily-context-snapshot daily-context-snapshot Hermes mirror error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/pipeline/daily_context_snapshot.py 있음(0) 0 태그 openclaw-kill/dual-run — 1주 이중운영 비교용, 기한 경과
32 D3 etf-radar-domestic etf-radar-domestic TIMEFOLIO 국내 ETF 관심 레이더 error no_agent=True but no script is set for this job /Users/ron/.hermes/skills/openclaw-imports/etf-tracker/scripts/radar/build_etf_radar.py 있음(0) 0 no_agent=True인데 script 필드 비어 설정결함, 18:01 별도 정지
33 D3 etf-radar-overseas etf-radar-overseas TIMEFOLIO 해외 ETF 관심 레이더 error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/skills/openclaw-imports/etf-tracker/scripts/radar/build_etf_radar.py 있음(0) 0 no_agent=True인데 script 필드 비어 설정결함, 18:01 별도 정지
34 D3 hmig-5-jobs-monitor-morning HMIG 5 jobs morning live monitor error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/admin/monitor_hmig_5_jobs.py 있음(0) 0 이관 검증용 임시 모니터(hmig 잡 감시)
35 D3 hmig-5-jobs-monitor-night HMIG 5 jobs night live monitor error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/workspace/scripts/admin/monitor_hmig_5_jobs.py 있음(0) 0 이관 검증용 임시 모니터(hmig 잡 감시)
36 D3 hmig-cold-alert com.openclaw.cold-alert migrated from OpenClaw LaunchAgent error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/skills/smart-home/scripts/auto_cold_alert.sh 있음(0) 0 태그 ha-isolated-until-verified/review-before-enable
37 D3 hmig-late-lights com.openclaw.late-lights migrated from OpenClaw LaunchAgent error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/skills/smart-home/scripts/auto_late_lights.sh 있음(0) 0 태그 ha-isolated-until-verified/review-before-enable
38 D3 hmig-rain-alert com.openclaw.rain-alert migrated from OpenClaw LaunchAgent error RuntimeError: HTTP 429: {"error":{"type":"usage_limit_reached","message":"The us /Users/ron/.hermes/skills/smart-home/scripts/auto_rain_alert.sh 있음(0) 0 태그 ha-isolated-until-verified/review-before-enable

[다음행동]

  • ops_todos 후보: "08-17 일괄정지 크론 A3/D1 20 재가동 승인 요청" 1건(해리 확인 필요, 등록은 이번 작업 범위 밖).
  • D1 재가동 전 검증 명령 예: /usr/bin/python3 <스크립트> 수동 1회 → exit 0 및 산출물 mtime 갱신 확인.
  • 재검증: python3 -c "import json;print(sum(1 for j in json.load(open('/Users/ron/.hermes/cron/jobs.json'))['jobs'] if j.get('enabled') is False and str(j.get('paused_at') or '').startswith('2026-08-17') and not (j.get('paused_reason') or '').strip()))" → 38