# 작업 플랜 — 컬럼 온도 프로파일 이격 모니터 (2026-06-06)

> 메모리 §17(온도프로파일=신뢰도/품질 게이트). 차트 라이브러리 ECharts(기보유).

## 목적
컬럼 단면 **온도 배열(탑상→리보일러)을 한 차트로** 표시 → 오퍼레이터가 기준 대비 **이격(드리프트)을 한눈에**.
근거: 같은 제품·진공이면 온도 프로파일(reb-A > T_B > T_C > T_D)이 부하무관 불변 → 이격 = 조성/순도 이상 또는 제품전환 신호.

## 데이터
- 단별 온도: `reb_temp`(TICA-x111A, 리보일러), `T_B`(TI-x111B), `T_C`(TI-x111C 민감단), `T_D`(TI-x111D 탑상).
- 진공: PICA(프로파일은 진공일정 가정 하 유효 → 진공 동시표시).
- **기준 프로파일**: 안정구간(6-1·9-1의 2~4월) 제품별 클러스터 중앙값 + 밴드(±2σ). 제품 식별=온도프로파일(PM<PMA/PGMEA<EL).

## 차트 (ECharts)
1. **세로 프로파일**: Y축=컬럼 위치(탑 T_D → 보텀 reb-A), X축=온도. 현재값 라인 + 기준밴드(회색 음영) 오버레이. 이격 시 라인이 밴드 밖 → 빨강 강조.
2. **★진공압력 필수 동시표시**: 온도 프로파일은 진공에 종속(비점=f(압력)) → 진공 변하면 온도 전체 이동. 차트에 **PICA 진공압력을 반드시 병기**(게이지 또는 프로파일 옆 패널). 이격 판정 시 "진공 정상 하에서의 이격"인지 "진공 변동에 따른 정상 이동"인지 구분 — **진공 보정 후** 온도 이격을 평가. 진공 이탈 자체도 경보.
3. **이격 지표**: 각 단 |현재−기준| → 막대/색상. ΔT(A-D) 스팬 표시(분리도). 스팬이 기준 이탈 시 경보.
4. **시간추이**(옵션): 단별 온도 + 진공 trend(uPlot) + 기준선.

## 단계
1. **기준 프로파일 산출**(Python): 안정구간에서 제품별 단별 온도 중앙값·σ → `c{prefix}_tempref.json`(제품 라벨별).
2. **API**(C#): `GET /api/steam/tempprofile/{col}` — 현재 단별 온도(realtime) + 기준밴드 + 이격상태(정상/약화/붕괴/역전, AdvisoryResult.TempProfileState 재활용).
3. **프론트**: ff.html 또는 steam pane에 프로파일 차트 추가. 실시간 갱신.
4. **경보 연계**: 이격→§17 신뢰/품질 경보. STEAM advisory 신뢰도 게이트와 연동(이격 크면 advisory 보류).

## 검증기준
- 6-1차 현재 온도가 기준밴드 내 표시(정상). 6-2차 5~6월 고온구간 = 밴드 이탈 강조(제품전환/실험구간 식별).
- 오퍼레이터가 차트만 보고 이격 즉시 인지.

## 주의
- ★진공 단위 확인 필요(PICA 113 표기 vs 50TORR — 메모리 미해결). 프로파일 해석 전 단위 확정.
- 기준 프로파일은 **안정구간만**으로 학습(실험·SP방치 구간 제외, 메모리 §17.3).
- TI-x111C 부재 컬럼(5차)은 대체단 처리.

## 기존 자산 재활용
- `AdvisoryResult.Temps`/`TempProfileState`/`TempSpan`/`TempSpanRef`(이미 존재) — 이격 판정 로직 일부 구현됨. 차트는 이걸 시각화.
