image_mismatch / brace_leak / missing_img_files 전부 0sbm으로 LoRA SFT 제출 → rollout memory_success로 V1 퀄리티 판정공식 MemER(Qwen3-VL-4B high-level subtask emitter)를 scene-mem-benchmark(Keh0t0, RoboCasa365 기반 858 scenario)에 맞춰 LoRA fine-tune → Pi0.5-RoboCasa365와 cascade하는 것이 목표. 기존 Tier-1(vocab swap) + Tier-2(multi-turn) 2-stage가 사용자 요구에 안 맞아 전면 재설계, scene-mem-only single-stage 빌더를 subagent-driven으로 구현(Tasks 1-10 완료).
Task 11 게이트: 858 전수 build를 CPU-only SLURM job으로 실행 → 무결성·통계 검증 → LoRA 학습 제출 가능 상태인지 확인하는 단계. 이 리포트는 그 빌드 파트의 결과.
로그인 노드 장시간 점유 회피(클러스터 §7)를 위해 빌드를 CPU-only sbm job으로 제출. 빌더는 8-worker ProcessPool, 빌드 결정성은 hashlib.sha256 per-scenario RNG로 보장(PYTHONHASHSEED salt 제거 — 리뷰가 잡은 cascade-critical 버그 3건 중 하나).
빌더 데이터 플로우: process_scenario → resolve_atomic_sequence(14-slot 치환, RoboCasa365 vocab grounded) → build_user_prompt/build_system_prompt(memer_eval.contract 동일 함수 = deploy 분포 일치) → wrist(top)+agentview_left(bottom) 320×360 stack → scenario-level split.
| 항목 | 값 | 판정 |
|---|---|---|
| job 3532 | COMPLETED, Elapsed 01:36:15, ExitCode 0:0 | OK |
| train / val / total | 2604 / 189 / 2793 | 핸드오프 예상치(~2.8K/~200) 일치 |
| image_mismatch | 0 | ✅ MUST be 0 |
| brace_leak | 0 | ✅ MUST be 0 |
| missing_img_files | 0 | ✅ MUST be 0 |
| turns/sample | min 13 / med 20 / mean 19.7 / max 26 | multi-turn 정상 |
| distinct target_atomic | 39종 (58 vocab 부분집합) | scene-mem 858 = RoboCasa365 composite 일부 |
| dataset 크기 | 4.2G (train 92MB / val 6.6MB / split 31KB) | — |
학습 입력 분포가 deploy(memer_eval.contract)와 동일 함수로 생성돼 분포 갭이 제거됐고, atomic이 RoboCasa365 vocab에 grounded됨이 실데이터 858 규모에서 확인됐다. Smoke(5 scenario) → full(858)로 스케일하면서 무결성이 깨지지 않았다는 것은 빌더 휴리스틱(14-slot resolution, FIFO frame-identity 추적, equal-chunk timing)이 전 scenario 분포에서 견고함을 의미한다. V1 LoRA 학습 제출 가능 상태.
리뷰 게이트가 잡은 3건(action-verb 반대 emit / FIFO-evict stale label / hash-salt 비결정)이 모두 cascade-critical이었고 전부 구현 단계에서 차단됐다. 858 full-build 무결성 0-fail은 이 수정들이 실데이터에서 유효함을 사후 검증한 것. 남은 한계(§5)는 전부 design에서 의도·문서화된 accepted V1 한계이지 구현 결함이 아니다.
Step C — 사용자 실행 (billing·사용자 wrapper):
학습 후 scene-mem-benchmark rollout으로 memory_success 측정 → V1 퀄리티 판정 → V2 여부 결정.
| 한계 | 내용 | V2 방향 |
|---|---|---|
| template-level grounding | filled-string-level 아님 — freezer/oven slot 값이 scene-mem 메타에서 와서 Pi0.5 정확 nat_lang과 다를 수 있음 | filled-string grounding (design Path C가 cascade 실패 시 재정렬 커버) |
_approx_note 9건 | freezer-family(MoveFridgeToFreezer 등), PackDessert, ice-cube — src_fixture default "counter"가 의미상 부정확 | fixture-aware src 매핑 |
| 고정 default slot | {knob}=front left, {side}=top 등; non-target narration regex 파싱 | 메타 기반 동적 slot |
| equal-chunk atomic timing | scenario당 K test 비디오 재디코드, atomic 경계 균등분할 휴리스틱 | VLM annotation, task_templates LLM paraphrase 대량생성 |
관련: claude/260515/handoff-scene_mem_v1_state.md · plan-scene_mem_redesign.md · progress-scene_mem_v1_builder_impl.md