Skip to content

fix: 승격 대기 상태를 헬스 경보에서 라벨로 강등 — 도달 불가능하던 OK 판정 복구#450

Merged
easygap merged 1 commit into
mainfrom
fix/idle-state-verdict
Jul 7, 2026
Merged

fix: 승격 대기 상태를 헬스 경보에서 라벨로 강등 — 도달 불가능하던 OK 판정 복구#450
easygap merged 1 commit into
mainfrom
fix/idle-state-verdict

Conversation

@easygap

@easygap easygap commented Jul 7, 2026

Copy link
Copy Markdown
Owner

배경

--mode health가 지금까지 단 하루도 ✅ OK를 낸 적이 없다. 원인은 장애가 아니라 분류였다: 연구 트랙 전략들(scoring, relative_strength_rotation)의 blocked_insufficient_evidence 상태가 _ATTENTION_STATES에 들어 있어서, "증거 축적 전 대기"라는 파이프라인 단계가 매일 ⚠️ ATTENTION / exit 1로 승격됐다.

알파 부재가 정착 결론인 현 체제에서 연구 전략은 이 상태가 상시 정상이다. 즉 지금 구조로는 OK가 도달 불가능한 판정이고, ATTENTION은 정보량이 0이다. 진짜 장애(degraded, frozen)가 발생해도 어제와 같은 ⚠️라서 구분이 안 된다.

수정

게이트 NO-GO를 라벨로 강등했을 때와 같은 원칙을 적용했다: 파이프라인의 예상 상태는 라벨이지 경보가 아니다.

  • _EXPECTED_IDLE_STATES = {"blocked_insufficient_evidence"} 분리 — verdict는 OK 유지, 노트에 state=... (승격 대기 — 정상)으로 계속 표시
  • _ATTENTION_STATESdegraded만 남김 — frozen(BLOCKING), 수동 동결, 이상 징후 경보는 전부 그대로. 대기 상태여도 manual_freeze나 anomaly가 붙으면 여전히 ATTENTION으로 올라간다 (테스트로 고정)

검증

  • 단위: 대기 상태 OK+노트 / 대기+동결 ATTENTION / 대기+이상징후 ATTENTION 3케이스 추가, 기존 degraded·frozen 경보 케이스 유지 — 41개 통과
  • 실CLI: python main.py --mode health✅ 운영 헬스: OK / exit 0 (최초). 두 연구 전략은 노트로 표시됨
  • 전체 스위트 통과

blocked_insufficient_evidence는 장애가 아니라 증거 축적 전 단계 표시인데
ATTENTION으로 분류돼 있어 연구 전략 2개 때문에 --mode health가 매일
경보(exit 1)였다. OK가 도달 불가능하면 ATTENTION은 정보량이 없고
진짜 장애(degraded/frozen)가 와도 어제와 같은 색이라 구분이 안 된다.

게이트 NO-GO를 라벨로 강등했던 것과 같은 원칙 적용:
- _EXPECTED_IDLE_STATES 분리, verdict는 OK 유지 + 노트에 승격 대기 표시
- degraded/frozen/수동 동결/이상 징후 경보는 그대로 (대기 상태여도
  freeze나 anomaly가 붙으면 여전히 ATTENTION — 테스트로 고정)

실CLI 검증: python main.py --mode health → 운영 헬스 OK / exit 0 (최초)
@easygap easygap merged commit 4170fd1 into main Jul 7, 2026
1 check passed
@easygap easygap deleted the fix/idle-state-verdict branch July 7, 2026 07:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant