Index
2026-09-19 — Analysis

Native translation 불변성 진단 — lit fixture는 RGB 4px mismatch(136150), unlit fixture는 byte-exact(136204)

R2S | CPU job 136150 (4s) / 136204 (1s) | 8-case full oracle 구현 완료, 미제출

TL;DR

7.42e-4
136150 linear max |Δ|
0.0
136204 linear max |Δ|
4 → 0
RGB mismatch px
2.38e-7
depth |Δ| (둘 다)
310
planned oracle arrays

1 배경 / 목적

GPU oracle 136025가 translation self-check에서 실패했지만 임시 arrays가 삭제되어 원인이 native 렌더 자체인지 compositor인지 분리할 수 없었다. 이 두 후보를 분리하기 위해 GPU/CUDA 없이 native MuJoCo 렌더만으로 "plane을 공동 평행이동해도 이미지가 같아야 한다"는 불변성을 검증하는 2-case 진단이 승인되었다.

기존 한계: 136025는 native evidence·NPZ·PNG를 하나도 남기지 않아 실패 위치를 재현할 수 없었음.

2 작업 내용

진단 1 (136150): 승인 plan SHA-256 fd499fd2… — nominal_z2 / translated 두 case를 render 후 즉시 seal, 이후 비교 manifest SHA-256 2490e633…, 독립 verifier: ARTIFACT_PASS (측정 verdict NATIVE_MISMATCH) 진단 2 (136204): plan SHA-256 b191fa27… — 동일 camera/plane geometry, oracle_unlit(emission=1, specular=0)를 plane에 부착 + headlight 비활성 manifest SHA-256 542d5629…, n39 노드 CPU 2 / 4 GiB 테스트 : 136150 wrapper 7/7 (0.405 s main, 0.422 s independent), 136204 fixture 8/8 (0.611 s / 0.893 s) 원칙 : 원 1e-4 비교 한계 불변, raw arrays를 cross-case 비교 전에 seal, 이전 artifact 덮어쓰기 금지

3 결과 (수치)

지표136150 (lit)136204 (unlit)
RGB mismatch pixel40 (bytes 완전 일치)
decoded-linear RGB max |Δ|7.417605488028584e-4 (> 1e-4)0.0 (mean도 0.0)
segmentation mismatch0 (정확 일치)0 (정확 일치)
depth finite & positive4096 / 4096, support mismatch 04096 / 4096, support 동일
depth max |Δ| (기준 1e-6)2.384185791015625e-072.384185791015625e-07
VerdictNATIVE_MISMATCHUNLIT_NATIVE_PASS
독립 actual-output audit(136204): 중심 RGB [0,215,0], segmentation owner [0,5]를 직접 재계산해 두 case 모두 일치, 검은 화면 동치가 아닌 nonblack green plane임을 확인.

Full unlit oracle 계획 (구현 완료 · 미제출)

13 compositor prefix = baseline 8 + CUDA edge 4(tie_mesh_1001, cutoff_alpha, equal_z_order, near_opaque_termination) + sub2x_nominal 1 stage 당 23 common field × 13 + 11 extras = 310 arrays; native prefix당 16 arrays (7 case 64×64 + sub2x_nominal 128×128) 제출 조건: 독립 code review 완료 후 1회, --qos=own GPU 1 / CPU 8 / 32G / 15min, --export=NONE, fresh output dir 현황: r2s/shared_static_unlit_oracle{,_native,_verify}.py, configs/…_20260918.json, scripts/…sbatch, tests/… 작성 (mtime 02:36~02:57 KST) producer review r1·r2 및 checker feedback 기록 파일 존재 (최종 승인 여부는 수집 시점에 미확인) sacct에서 136204 이후 R2S job 없음, outputs/shared-static-unlit-oracle/ 미존재

4 Takeaway

의미

같은 geometry·camera에서 material만 lit→unlit로 바꿨을 때 mismatch가 4px에서 0으로 사라졌다. 즉 lit 셰이딩이 공동 평행이동에 대해 1 uint8 level 수준으로 비불변일 가능성을 시사하지만, 원인 확정은 아니며(136025 arrays 복구 불가, 단일 원인 여부 미증명) synthetic lighting fixture의 변경일 뿐 DROID 장면의 조명 모델링에 대한 주장이 아니다. 무엇보다 threshold 완화 없이 fixture 변경으로 native 불변성을 확보한 점이 핵심이다.

5 Next Steps

미해결 한계

8-case actor/no-mesh/2× 렌더와 CUDA contributor·gradient는 unlit material 하에서 미검증. 2-case CPU 통과가 full oracle 통과를 의미하지 않음.

다음 작업

독립 code review 통과 후 full oracle을 단일 GPU job으로 1회 제출 → independent checker PASS 시에만 frozen-geometry, color/opacity-only nonblind appearance fit 구현 검토. 실패해도 자동 재시도 없음.