52 lines
4.3 KiB
Markdown
52 lines
4.3 KiB
Markdown
# WP2 — 현행 FF 엔진 프로빙 결과
|
||
|
||
> 2026-06-01. 대상: `plans/안전피드램프-advisory-작업지시서.md` WP2. 라이브 `:5000` `/api/ff/advisory` 관찰.
|
||
> **방법 제약**: Sim Override는 엔진에 안 닿음(ramp-advisor만) → 본 프로빙은 **엔진이 현재 데모 합성데이터(설정값±variation)로 돌아가는 실제 거동을 관찰**. 의도적 step 주입이 필요한 항목(P4 등)은 운전원 DCS 주입 필요로 분리.
|
||
|
||
## P0 — 현재 advisory 스냅샷 (feed≈900.9, 정상상태)
|
||
```
|
||
transient=False mode=Normal yield=90.7%
|
||
massBalanceState=물질수지 불일치 vLoss=43.3 vLossMa=31.7
|
||
front=프론트 하강→boilup↑ (수 초 뒤 baseline 수렴하며 "정상(프론트 안정)"으로)
|
||
temps(raw=pct): tica-6111a=79.21 ti-6111b=78.47 ti-6111c=78.69 ti-6111d=78.92
|
||
streams: P rec=833.5(pv817) D rec=18.02(pv15.8) B rec=27.03(pv24.8) R rec=666.8(pv653.8)
|
||
```
|
||
|
||
## 프로빙 결과 (코드리딩 주장 검증)
|
||
|
||
| 프로브 | 주장 | 관찰 | 판정 |
|
||
|---|---|---|---|
|
||
| **P1** | LevelDriven B/D rec = K×feed (clamp/rate 無) | B rec=**27.019 ≡ 0.03×900.63**, D rec=18.018≡0.02×feed. 시간추이서 feed와 **정확히 선형 추종**(27.018→27.021) | ✅ 확정 |
|
||
| (대조) | Commanded P는 deadtime+lag+rate | P rec=**834.8 ≠ 0.95×feed(855.6)** — lag로 뒤처짐 | ✅ LevelDriven과 명확히 구분 |
|
||
| **P2** | PCT 꺼짐(dtdp=0) | **모든 temp의 pct == raw**(79.2066=79.2066…) | ✅ PCT dormant 확정 |
|
||
| **P3** | pi-6111b 미사용 | 엔진 태그목록(BuildSnapshotAsync)에 pi-6111b 없음 — 코드 사실(관찰 대상 아님) | ✅ 코드 확인 |
|
||
| **P4** | feed 급변 시 transient/valid=false | **자연 variation(feed ±0.1)으론 transient 미발화**(FeedMoveThresholdPerMin=0이라 moving 조건 자체 off) | ⚠ 운전원 step 주입 필요 |
|
||
| **P5** | D+P+B≠feed → mbState 불일치 | vLoss=43.3(>3%·feed=27) → "불일치", Bpv noise로 "정상"↔"불일치" 토글 | ✅ 단, **데모 PV 비보존 아티팩트**(실제 과추출 아님) |
|
||
| **P6** | front 부호 수정 동작 | **override 엔진확장 후 라이브 검증(2026-06-01)**: A=90 고정, D sweep → D↑(94/98)=**프론트 상승→환류↑**, D↓(82/78)=**프론트 하강→boilup↑**, 전환점 D≈A. 구버그면 반대 | ✅ 물리방향 확정 |
|
||
|
||
## ⚠ 핵심 발견 — 데모 temps가 물리 프로파일 위반
|
||
운전원 확정 정상 프로파일은 **A>B>C>D 단조감소**(§10.1). 그러나 데모 실측은:
|
||
```
|
||
tica-6111a(A)=79.21 > ti-6111d(D)=78.92 > ti-6111c(C)=78.69 > ti-6111b(B)=78.47
|
||
→ A>D>C>B (B가 최저, 비단조)
|
||
```
|
||
- 데모는 **각 태그 = SP + 일정한 변동량 반복** 시뮬레이션 → temp 순서는 물리 공간구배가 아니라 **각 태그 SP + 변동 위상**의 산물. **공간 구배 미인코딩** → 물리적 단조성 없음 (메모리 `project_demo_system_synthetic_data` 부합).
|
||
- **함의 1**: §10 역전판정(`A≥B≥C`)을 이 데모에 켜면 `B<C`라 **항상 "온도 역전" 오발**. → §10/front **검증엔 운전원이 단조 temps를 주입**해야 함.
|
||
- **함의 2**: front(A↔D) 부호의 *물리적* 타당성은 데모로 검증 불가(단위테스트로만). 부호 자체는 머지·통과.
|
||
|
||
## 운전원 DCS 주입이 필요한 잔여 (override 불가)
|
||
| 항목 | 필요 주입 | 관찰 |
|
||
|---|---|---|
|
||
| P4 transient | feed를 FeedMoveThresholdPerMin 이상으로 step | transient=true, stream valid=false |
|
||
| S7 과추출(매트릭스) | B pv ≫ 0.03×feed, D+P+B≠feed (realtime_table) | mbState 음의손실/불일치 |
|
||
| §10/front 물리검증 | temps를 A>B>C>D 단조로 세팅 후 D 가열 | front "상승→환류↑" |
|
||
|
||
## 결론
|
||
- **확정**: P1(LevelDriven=K×feed 무클램프, 원래 우려 재현)·P2(PCT dormant)·P3(pi-6111b 미사용)·P5(mbState, 단 데모 아티팩트).
|
||
- **보류(운전원 주입 필요)**: P4·S7·front 물리검증.
|
||
- **신규 이슈**: 데모 temps 비물리(A>D>C>B) — §10/front 라이브 검증의 선결 조건은 단조 temps 주입. (override가 엔진에 닿지 않는 한계와 함께, 자율 검증 범위가 ramp-advisor로 한정됨.)
|
||
|
||
## 참조
|
||
- `plans/안전피드램프-advisory-작업지시서.md` WP2, `docs/안전피드램프-검증시나리오매트릭스.md` S7
|
||
- `docs/안전피드램프-한계치-브레인스토밍.md` §10
|