final_results/oracle_plan_v1_260923 ✅ find 750 · restore 740 · routine 615 · resume 805(161질의 × 5 arm, 원격 49조각, $83.59) · McNemar 짝비교 · 사전등록 층화 · 실패 사례실험 3 은 독립 실험: 5 arm 전부 GT 계획을 과제 지시 블록에 고정(--plan gt --plan-slot instruction), 시드 메모리 제거(--seed none), goal 이미지 없음. resume 은 발화된 과제 중 남은 단위(옮길 개수·누를 횟수·방문할 방)를 GT 로 계획에 넣되(resume_gt.gt_unfinished, 출발·목적지 가구 + 방 이름), 에피소드 안에서 "내가 얼마나 했는지"는 arm 이 스스로 추적해야 한다 — 시드 없는 온라인 쓰기가 값을 갖는지 보는 마지막 가족.
원격(5e) 8샤드 → 빈 GPU 마다 편 단위 sx 조각 분할(49행 파일) → 12회 회수 검사(①셀 ②조각 ③중복 ④조건·컷 복원 ⑤GT 계획 형식 ⑥episode.json + 컨테이너 navigate ≤2 m ⑦비용 ⑧진행) 전부 통과 → 06:12Z 로컬 병합(assert 파일명 충돌 0 · 키 중복 0 · 805 전부 · sm0 없음) → 엄격 검사 → 보관소.
| arm | SR | M1 Rep. (n) | M2 false_done | M3 낭비턴 (n) | M4 GC | D1 (n칸) | 턴 | pick | nav | $/칸 | 분/칸 | final done / nav_loop / budget |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| blind | .186 | .389 (70) | .180 | .551 (45) | .352 | 1.000 (77) | 14.8 | 5.4 | 5.9 | .091 | 9.5 | 48 / 45 / 38 |
| frames-uniform | .261 | .199 (79) | .280 | .405 (54) | .403 | .988 (83) | 12.7 | 5.3 | 4.4 | .143 | 9.0 | 85 / 26 / 28 |
| rollforward-v3 | .304 | .087 (83) | .348 | .331 (53) | .478 | 1.000 (91) | 12.2 | 6.2 | 4.4 | .072 | 6.9 | 104 / 25 / 5 |
| rollforward-vis-pure | .211 | .311 (79) | .236 | .500 (47) | .365 | .997 (80) | 14.3 | 6.0 | 4.8 | .116 | 10.2 | 66 / 36 / 31 |
| tagmem-r3 | .298 | .085 (75) | .292 | .368 (52) | .440 | 1.000 (91) | 11.8 | 5.6 | 4.6 | .097 | 6.6 | 93 / 39 / 9 |
M1 Rep. = 충족된 과제 종류의 행동을 충족 뒤에 반복한 턴 / 전체 턴(충족 과제가 있는 칸만, n) · M2 false_done = done 선언인데 과제 미달(정정치 — 행의 원 값은 pick/place_on 답 기준이라 방문·누름 질의에서 전부 거짓 done 으로 셈, 06:13Z 표의 .298~.646 폐기) · M3 낭비턴 = 목표 도달 뒤 쓴 턴 / 전체 턴(목표 도달 칸만, n). 셋 다 turns/resume_progress_oracle.jsonl(과제별 진행 타임라인, plan_id 별 goal_met_turn·done_turn·overrun_turns·repeat_after_met) 에서 나온다.
| arm | SR b01/b10 p | false_done b01/b10 p | GC 우세/열세 p (부호검정) |
|---|---|---|---|
| frames-uniform | 18/6 p=.023 | 25/9 p=.009 | 35/21 p=.081 |
| rollforward-v3 | 25/6 p=.001 | 46/19 p=.001 | 46/18 p=.001 |
| rollforward-vis-pure | 12/8 p=.503 | 19/10 p=.136 | 24/28 p=.678 |
| tagmem-r3 | 21/3 p<.001 | 32/14 p=.011 | 43/19 p=.003 |
| 층 | 칸 | blind | frames | rf-v3 | vis-pure | tagmem |
|---|---|---|---|---|---|---|
| Single(pending 1) | 100 | .270 | .340 | .420 | .300 | .410 |
| Multi(pending 2) | 61 | .049 | .131 | .115 | .066 | .115 |
| 방문만 | 31 | .742 | .935 | .968 | .774 | .935 |
| 누름만 | 25 | .040 | .040 | .240 | .080 | .160 |
| 놓기만 | 50 | .060 | .080 | .120 | .080 | .160 |
| 혼합 | 55 | .055 | .145 | .127 | .073 | .127 |
5 arm 전부 실패 90/161 = 놓기만 39 · 놓기+누름 21 · 누름만 15 · 놓기+방문 15(방문만 0), 전부 성공 20. 메모리는 "얼마나 했나"의 답을 바꾸지 "잡히나"를 바꾸지 못한다 — find·restore·routine 과 같은 천장.
| 가족 | 칸 | blind | frames | rf-v3 | vis-pure | tagmem | blind 대비 유의(SR McNemar) | API |
|---|---|---|---|---|---|---|---|---|
| find | 150×5 | .367 | .387 | .353 | .327 | .367* | 없음(p≥.26) | $52 |
| restore | 148×5 (rr 149 대체) | .108 | .142 | .196 | .162 | .176* | rf-v3 p=.011 · tagmem p=.052(GC 부호검정 p=.012) | $140 |
| routine | 123×5 (rc 185 대체) | .154 | .122 | .163 | .154 | .179 | 없음(p≥.50) | $91 |
| resume | 161×5 | .186 | .261 | .304 | .211 | .298 | frames p=.023 · rf-v3 p=.001 · tagmem p<.001 | $84 |
* find·restore 의 tagmem-r3 행은 260925 사용자 결정으로 카메라 수정판 재현 런(tmrep, src_main14 strict_policy_camera, 두 번째 추첨)으로 교체된 값(교체 전 .360 · .142). 다른 4 arm 과 카메라 규칙이 다르다 — 상세 260925-oracle_tmrep_tagmem_replicate.html.
GT 계획이 주어지면 "어디로 가서 무엇을 잡을지"는 정해지고, 남는 미지수는 두 가지다: (a) 잡히느냐(VLA 파지)와 (b) 끝났느냐(완료 인지). find·routine 은 (b) 가 계획에서 바로 읽히므로 arm 차이가 없고, restore 는 운반·놓기 단계가 길어 rf-v3 만 살짝, resume 은 (b) 가 에피소드 안 상태(방문·누름 횟수)에 달려 있어 텍스트 노트 두 arm 과 frames 가 유의하게 이긴다. 이미지만 쓰는 vis-pure 는 어느 가족에서도 못 이긴다 — 세는 것은 텍스트다. resume 의 메모리 효과는 한 쌍이다: "끝난 걸 안다"(도달 뒤 낭비턴 .55 → .33, 완료 뒤 반복 .39 → .09, 도달하고도 done 안 한 칸 26 → 5) 와 "안 끝났는데 끝났다고 한다"(false_done .18 → .35).
final_results/oracle_plan_v1_260923(git 미추적): rows/oracle_resume__s*·sx*·sm1 (49파일) · turns/ · tables/oracle_resume.md · summary_resume.json · PROVENANCE(✅ 4가족 완주). 스냅샷 src_main13(= 실험 2 resume src_s4 + GT 계획 분기 + 출발·목적지 가구 이름 + 방문 기록 수정 + 컨테이너 세움).scripts/resume_progress_timeline.py → turns/resume_progress_oracle.jsonl, aggregate_online_oracle.py --progress): press = 성공·비-vacuous press 누적, visit = rooms_seen[].t 로 남은 방 전부 본 첫 턴, place = 최종 상태 채점이라 "need 번째 성공 놓기, 모자라면 그 배우를 마지막으로 다룬 턴"(하한, 805칸 중 167 이 서브골 성공과 어긋남 — 놓다 떨어져도 표면에 얹히면 채점). 논문 진단표 Ovr./Waste/Rep. 의 resume 열은 여기서 채운다(행의 goal_met_turn·overrun_turns 는 비어 있음).check_resume_returns.py(로컬 엄격) ①~⑧ 통과; 컨테이너 파킹 재발 0(navigate 245회 전부 stage 컨테이너 2 m 안). train_7075(확률적 빌드 실패 편)는 4번째 시도에 통과해 우주 805 유지.