# krea2 r2i 참조능력 A/B — 3장면 세트 (2026-08-12)

발주 `t_74675617e016`(CEO "발주해"+"병행"+"완료되면 바로 스모크하고") · 앞단 `t_0243f0d90021`.
**★판정(채택/기각·ⓐ↔ⓑ 우열)은 CEO 몫이다.** 아래는 관찰과 실측만.

## 무엇을 재나
krea2 r2i 판은 **참조 조건화 LoRA 가 0개**인 채 돌고 있었다. 그래서 프롬프트가 ref 를 못 이겼다 —
`no jacket, no hoodie, no bag` 을 명시했는데 핑크 후드·손 든 포즈·백팩이 살아남고 ref 의 **SHCS
워터마크가 배경 간판으로 재현**됐다. 처방 2종을 **별도 판**으로 도입해 기여를 분리한다.

## 비교 설계 (단일변수)
장면마다 **현행·ⓐ·ⓑ 세 판의 seed 를 완전히 동일**하게 고정했다. 프롬프트 A·B 는 대조군 잡의
DB 원문 그대로(md5 대조).

| 장면 | 현행(대조군) | ⓐ style-reference | ⓑ identity-edit | seed | 스트립 |
|---|---|---|---|---|---|
| A 런웨이 | #28517 | #28579 | #28580 | 830576714 | `strip-scene-A-runway.png` |
| B 카페 | #28518 | #28899 | #28900 | 1925215450 | `strip-scene-B-cafe.png` |
| C 스케이트파크 | #28901 | #28902 | #28903 | 830576714 | `strip-scene-C-skate.png` |

· ★**장면 C 프롬프트는 발주에 없어 내가 지었다**(A 와 같은 골격 · Scene/Framing/Action 만 교체).
  그래서 C 는 대조군도 새로 태웠다(#28901). 의도와 다르면 C 3판만 다시 돌리면 된다.

## 관찰 — 발주 DoD2 의 3축 (★판정 아님 · 장면당 표본 1장)
| 축 | A 현행 | A ⓐ | A ⓑ | B 현행 | B ⓐ | B ⓑ | C 현행 | C ⓐ | C ⓑ |
|---|---|---|---|---|---|---|---|---|---|
| 핑크 후드가 사라졌나 | ✗ | **O** | **O** | ✗ | **✗**(걸친 채 남음) | **✗**(걸친 채 남음) | ✗ | **O** | **O** |
| 손 든 포즈가 사라졌나 | ✗ | O | O | ✗ | O | O | ✗ | O | O |
| SHCS 워터마크가 안 나오나 | ✗ | O | O | — | O | O | — | O | O |
| 백팩 | 있음 | 없음 | 없음 | 있음 | 없음 | 없음 | 있음 | 없음 | 없음 |

★**장면 B(카페)만 갈린다** — A·C 는 ⓐ·ⓑ 모두 후드를 지웠는데, B 는 **둘 다 핑크 후드가 남았다**
(닫힌 상태→걸친 상태로 바뀌었을 뿐). 상반신 클로즈업이라 후드가 화면을 크게 차지하는 프레이밍이
공통 원인일 수 있으나 **표본 1장이라 단정하지 않는다**.

## DoD4 — `fit_mode` 축: **기여 없음**(실측)
`ⓑ #28580(fit)` vs `ⓑ #28904(crop legacy)` — 같은 프롬프트·같은 seed·`fit_mode` 하나만 다름.
· 픽셀 평균차 **10.7/255** (대조군 **내부** 잡음 밴드 45.6~97.5의 1/5 이하) · 육안으로도 거의 동일.
· 스트립 = `strip-fitmode-axis.png`
⇒ 발주가 이 축의 근거로 든 *"ref 0.713 vs 출력 0.571"* 은 **커밋 `8367feb`(1MP 전환) 이후 이미
  소멸**했고(문제 잡 #28517 자체가 0.7095), 이번 실측이 그걸 확인한다. `fit_mode` 는 도입 근거가
  아니라 노드 필수 인자다.

## ★픽셀 평균차를 효과 증거로 쓰지 마라
대조군 **내부** 잡음 밴드가 45.6~97.5 인데 판 간 차이도 42~64 라 **구분이 안 된다**.
(1차 스모크에서 이 지표를 근거로 보고했다가 verifier 에게 무효 판정을 받았다 — seed 미고정이 원인이었고,
seed 를 고정한 지금도 이 지표는 여전히 아무것도 못 가른다.) 배선이 탔다는 근거는 **로그 사실**로 본다:
ⓐ `lora key not loaded` 0건 · lora_A 256/256 매칭 / ⓑ 8스텝 전부 `[krea2edit] pixel path ACTIVE`.

## 남은 것
3축 O/X 확정 판정과 ⓐ↔ⓑ 우열 = **CEO 육안**(발주 ⓒ7).

---

# 부록 — ref 2슬롯 배선 (t_6a3f76a9d4a0 · CEO 지시)

`t2i-krea2-r2i-identityedit-nvfp4-spark` 에 **2번째 ref 슬롯**을 배선했다. 스트립 = `strip-multiref-2slot.png`.

## 상한은 2장이고 우리가 못 늘린다
노드팩 `__init__.py` 의 `INPUT_TYPES` 가 `source_image`/`source_image_b` · `image`/`image_b` **두 갈래뿐**이고
`_c` 는 없다. LoRA 도 2-ref 로 학습돼 3번째는 학습 분포 밖이다.
⇒ ★**4명 각각의 얼굴 지정은 이 계열로 불가능**하다.

## 역할 순서가 의미를 갖는다
`input_image` = **a = scene** · `input_image_2` = **b = subject**. 노드팩 tooltip 이 학습 순서를 못박는다
(`vision blocks in training order: scene, subject`). **반대로 넣어도 에러가 안 난다 — 품질로만 나타난다.**

## 도달 증명 (기계)
`job-029051/workflow.json` 실측 — `10`=scene 업로드 · `10b`=subject 업로드 · `12.source_image_b`·`4.image_b`
둘 다 `['10b',0]`. 즉 **외형 경로와 의미 경로 양쪽**에 b 가 들어간다.

## 관찰 (★판정 아님 · 표본 1장)
`1-ref #28580` 과 `2-ref #29051` 은 프롬프트·seed 가 같은데 **2-ref 쪽에만 손 든 포즈**가 나타났다 —
그건 ref b(인물 사진)의 특징이다. 배경도 a(런웨이 바닥)와 정합. 다만 표본 1장이라 단정하지 않는다.

## 미전송 회귀 0
`input_image_2` 를 안 보내면 러너가 `10b` 를 제거하고 두 소비자 링크를 끊는다 ⇒ **1-ref 판과 동일한 그래프**.
실측: #29019(변경 후·b 미전송) vs #28580(변경 전) **픽셀 평균차 0.000 · `array_equal` True**.
