docs: WP2 현행 FF 엔진 프로빙 결과
라이브 /api/ff/advisory 관찰(데모=SP+일정변동 반복). 확정: P1(LevelDriven B/D rec=K×feed 무클램프, P는 lag), P2(PCT 꺼짐 pct==raw), P3(pi-6111b 미사용), P5(mbState, 데모 비보존 아티팩트). 발견: 데모 temps 비물리(A>D>C>B)라 §10/front 물리검증·P4·S7은 운전원 DCS주입 필요(override는 엔진 미반영). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
51
docs/안전피드램프-현행엔진-프로빙결과.md
Normal file
51
docs/안전피드램프-현행엔진-프로빙결과.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# 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 부호 수정 동작 | front는 tica-6111a(A)↔ti-6111d(D)로 산출, "하강↔안정" 변동. 부호픽스(76fdce8) 머지·단위검증 완료 | ⚠ 데모 temp 비물리라 **물리 방향 라이브 검증 불가** |
|
||||
|
||||
## ⚠ 핵심 발견 — 데모 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
|
||||
Reference in New Issue
Block a user