크라우니인베스트 딜 실측 위기등급 (점수추정→실측 격상)
개요
자율 순찰의 위기 감지를 딜 리스크 점수 추정에서
런웨이/번레이트/매출성장 실측 기반 위기등급으로 격상. 위기등급가용을 전역 플래그→
딜별로 정밀화. 분업: 설계=오푸스, 코딩=소넷, 글밥=하이쿠, 검증=오푸스, 판정=메인(Opus). 울트라 5에이전트.
무엇을 했는지
- 무파괴 사이드카 채택:
data/딜위기.dat = append-only "id|런웨이개월|번레이트지수|매출성장률"(최신승리). 딜.dat(11필드, 상태=마지막 불변식) 0바이트 변경 → 51건 마이그레이션 불요·완전 하위호환. 스키마 확장안은 인덱스 시프트+51건 마이그 리스크로 기각.
- 딜별 위기등급가용: 실측 있는 딜→
위기_등급(런웨이,매출성장,번레이트)=정상/주의/위기, 없는 딜→리스크점수 폴백(종전 동작). 전역 _위기등급가용 의존 제거.
- 순찰 ⑦딜위기 격상 + 자력불가-B 정상화: 위험딜이 실측 있으면 실측 등급 반영, 자력불가-B는 "실행단계 위험딜 중 실측 부재"일 때만 점화. 실측 부여 시 위기관리가 흡수 → 음 자연 해소.
- 서버 API:
POST /api/dealcrisis(실측 저장), POST /api/dealcrisisget(등급 조회, body {id}). 인트라넷 딜 실측 입력 폼 + 위기등급 배지(미실측 표시). 글밥 하이쿠.
적대검증 (오푸스, pass=true, failures 없음)
- 실측 등급: 런웨이4/번레이트80→위기, 24/30→정상, 12/55→주의 정확 산출. 미실측→리스크 폴백.
- 음 정상화 라이브: 위험딜+실행+미실측→음(자력불가-B), 같은 딜 실측 부여→티(음 해소), 재측정 위기여도 티 유지(B는 실측부재에서만).
- 무파괴: 딜.dat 첫 51라인 md5 baseline과 byte-identical, 딜이동 후에도 51건 무손상. 사이드카만 append. 단일 인스턴스, 회귀 GREEN, 46/46 테스트.
- 메인 독립 재확인: proposals(총23)·dealcrisisget(D4→가용1/위기) 정상. (회귀 루프 stdin 인코딩 FAIL은 하니스 아티팩트, 서버 무결.)
잔여 이슈
- 테스트 잔여물 정리 대기(사용자 승인 필요): 검증 중 생성된 ZEUM1/ZTEST1 딜(딜.dat 52~53행) + 사이드카 가짜 실측(D4=런웨이4 등 검증 입력값)이 라이브에 잔존 → 자율 순찰이 실제 딜에 가짜 위기(발견:TEST_RISK) 표면화. 라이브 데이터 변경이라 자동모드 차단됨 — 백업(rename-preserve) 후 원본 51건 복원 + 사이드카 리셋 승인 대기.
- 경보 등급: 3차원 홀수벡터 특성상 실측 도달불가(dead path) — 4차원 위기벡터/임계 재정의 시에만 활성.
- 순찰 부족근거 문구가 최고리스크딜명 인용 vs B트리거는 실행단계 미실측딜 — 표시/트리거 딜 불일치 가능(기능 정상, 운영자 혼동 여지).
- /api/deals 리스트는 위기가용만, 위기등급은 dealcrisisget에서만 — 인터페이스.md 명시 권장.