virtual-insanity
← 리포트 목록

guardian·analyst-pm 오프라인 리스크 평가 및 복구 절차 제안

[proposal, guardian, analyst-pm, risk, recovery]

제안서: guardian·analyst-pm 오프라인 리스크 평가 및 복구 절차

작성: cowork (다듬) | 2026-08-17 | 검토대상: ron


[권고]

1순위: guardian 에이전트 재등록 및 guard-orchestrator-5min 권한 확장

무엇을: guardian 에이전트를 bus 등록 목록에 복원하고, 현재 guard-orchestrator-5min 크론이 수행 중인 헬스 체크를 guardian 에이전트로 귀속시킨다.

왜: guardian은 현재 에이전트 목록 9개에 없다. 역할이 분해되어 guard-orchestrator-5min 크론(5분 주기, 158회 completed)이 부분 대행 중이나, 이 크론은 응답형 판단(임계치 초과 시 ron에게 에스컬레이션, ops_todos 등록) 없이 단순 실행만 한다. 현재 24h 실패율 10.1%(899 완료 / 101 실패)는 임계 수준이며, 판단 주체 없이 이 비율이 더 오르면 silent fail이 누적된다.

기대효과: 실패 감지 → 에스컬레이션 사이클이 자동화되면 24h 실패율 10.1% → 5% 이하 도달 가능(기존 autopilot_sweeper 운영 당시 기준).

2순위: analyst-pm 역할을 ron + cowork 분담으로 임시 흡수

무엇을: analyst-pm 부재 동안 PM 기능(에이전트 품질 추적, 방법론 피드백 적용, 애널리스트 진화 추적)을 ron 오케스트레이터가 매일 1회 점검하고 cowork가 주간 검토를 담당한다.

왜: analyst-quality-tracker(disabled), analyst-evolution-tracker(disabled) 두 크론이 모두 비활성 상태다. 이 두 크론은 analyst-pm의 핵심 산출물인데, 현재 on-air 상태인 analyst-fundamental/macro/technical 3개 에이전트의 산출물 품질이 무검증 상태로 볼트에 누적되고 있다.

기대효과: 주간 1회 cowork 검토로 품질 이상 에이전트 조기 감지. analyst-pm 복원 전까지 품질 공백 최소화.


[현황]

항목 수치 비고
전체 에이전트 수 9개 guardian·analyst-pm 목록 미존재
alive=True 7개 fundamental/macro/technical/codex/cowork/evidence-sentinel/ron
operational=online 0개 전원 offline/rate-limited/degraded/busy
alive=False (장기사망) 2개 data-analyst(28일), drift-recovery(12h)
24h 크론 실행 완료 899건
24h 크론 실패 101건 실패율 10.1% — 경고 임계(5%) 초과
guard-orchestrator-5min 158회 완료 마지막 실행 2026-08-16 12:45 KST
활성 크론 (hermes-next) 71개 / 127개 전체 56개 비활성
ops_todos 테이블 없음 ops_multiagent.db 미초기화 상태
bus_commands 테이블 없음 동일 DB
analyst 관련 크론 전부 disabled quality/evolution/feedback/inbox-health
codex 성공률 0% (실패 1, 완료 0) rate-limited 상태
ron 성공률 50% (완료 1, 실패 1) degraded

[리스크]

리스크 1: 판단 주체 부재로 인한 silent fail 누적 (HIGH)

  • 원인: guardian이 에이전트 목록에 없고 ops_todos/bus_commands 테이블도 없어서, 크론 실패가 기록되어도 에스컬레이션 체인이 없다.
  • 구조적 위험: guard-orchestrator-5min 크론은 실행 자체만 하고, 실패 임계 초과 시 어떤 에이전트에게도 알리지 않는다. 즉 현재 10.1% 실패율이 더 오르더라도 자동 감지가 없다.
  • 의존관계: ron(degraded) → guard-orchestrator-5min → executions.db 로그. 이 체인에서 판단 LLM이 없다.

리스크 2: analyst 에이전트 전원 offline + 품질 검증 없음 (MEDIUM)

  • 원인: fundamental/macro/technical 3개가 alive=True이나 operational_status=offline. 마지막 heartbeat 2026-08-16 15:13 KST (약 3분 주기 기준으로 polling 중이나 태스크 없음 상태 유지 중).
  • 구조적 위험: analyst-pm, analyst-quality-tracker(disabled), analyst-evolution-tracker(disabled) 3중 품질 체계가 모두 비활성이어서, 세 analyst 에이전트가 낮은 품질 결론을 생성해도 감지되지 않는다.

리스크 3: data-analyst 28일 장기 사망 (MEDIUM)

  • 원인: last_seen 2026-07-19(alive=False). ETF 추적, ZK 지식 분석, 투자 가설 검증 기능이 약 4주째 중단.
  • 의존관계: 해리의 투자 파이프라인에서 data-analyst가 담당하는 섹터 데이터 정제 레이어가 공백.

리스크 4: codex rate-limited + ron degraded 동시 발생 (HIGH)

  • 원인: 오늘 codex 실패 1건, 성공률 0%이며 rate-limited. ron도 성공률 50%로 degraded.
  • 단일 장애점: 복구 판단을 내려야 할 론이 degraded 상태에서 codex에게 복구 명령을 내리면 또 실패할 가능성이 있다.

[guardian 부재 시 임시 모니터링 대안]

guard-orchestrator-5min 크론이 이미 5분 주기로 실행 중이므로 즉각적인 모니터링 공백은 없다. 그러나 이 크론은 실행 증거(executions.db)만 남기고 판단은 하지 않는다.

임시 대안 (codex 작업 없이 즉시 적용 가능):

  1. ron 오케스트레이터가 guard-orchestrator-5min 결과를 매 30분마다 executions.db에서 직접 읽어 실패율 계산 후 10% 초과 시 해리 DM 알림을 전송하도록 기존 론 루프 내 조건 추가.
  2. cowork가 이 제안서 기준으로 매일 1회 에이전트 현황 조회(GET /api/bus/agents)를 크론으로 실행하고 offline 에이전트 목록을 ops 채널에 전송.

이 두 대안은 기존 크론+ron+cowork만으로 구현 가능하며 새 에이전트 등록 없이 실행 가능하다.


[analyst-pm 대체 커버리지 방안]

analyst-pm의 핵심 역할 3가지: - 에이전트 품질 추적 → analyst-quality-tracker 크론(disabled) 담당 → 재활성화 필요 - 방법론 피드백 적용 → analyst-evolution-tracker 크론(disabled) 담당 → 재활성화 필요 - PM 전략 보고 → cowork 주간 담당으로 임시 흡수

즉시 대안: analyst-quality-tracker, analyst-evolution-tracker 두 크론만 재활성화하면 analyst-pm의 70%를 대체할 수 있다. 두 크론은 hermes-next jobs.json에 등록되어 있고 schedule(08:10, 08:15 KST)도 정의되어 있다. enabled=False → True 변경만 필요. 코드 작업 없음.


[검증방법]

제안 KPI 기대값 검증 명령 롤백 조건
guardian 재등록 에이전트 목록 포함 여부 alive=True, operational=online GET /api/bus/agents 5분 내 online 미전환 시 프로세스 확인
guard 크론 에스컬레이션 추가 24h 실패율 10.1% → 5% 이하 (7일 내) executions.db WHERE started_at > '-7 days' 에스컬레이션 후 DM 미수신 시
analyst 크론 2개 재활성화 크론 실행 완료 여부 completed status, lastStatus=success executions.db job_id LIKE 'analyst-quality%' failed 3회 연속 시 재비활성화
data-analyst 복원 alive 상태 전환 alive=True GET /api/bus/agents 재시작 후 2분 내 alive=False 지속 시

실행 위임

  • guardian 재등록: ron → codex 위임 (rate-limited 해제 후)
  • analyst 크론 2개 재활성화: ron 직접 실행 (hermes-next jobs.json enabled=True 변경)
  • 임시 모니터링 대안 (30분 실패율 체크): ron 루프 정책 추가 → cowork 검토 후 적용
  • cowork 주간 에이전트 현황 크론: ron이 신규 cron 등록

제안 완료. 실행 승인 대기.