find·restore·routine과 같이 resume도 GT 계획(시드 없음) 조건으로 오라클 표를 완성하기 위한 준비. resume은 질의에 answers[]가 없고 pending[](미완 과제 개수 사양)뿐이라, 다른 가족의 GT 계획 경로(gt_selections* → selections)를 그대로 쓸 수 없었다.
GT 계획 빌더 sbench_exec/resume_gt.gt_unfinished(specs, room_map) 순수 함수: 읽기 답 모양(unfinished=[{task, remaining}])을 발화 그대로 + "— in the <방>" + "remaining unit i of r" 형식으로 펼친다. 사용자 결정(방 이름까지 다 준다, GT 계획은 시드 없음)에 맞춘 설계다.
셀 143질의(61871a3e 89 + fd856246 54, = 실험 2 resume_ok 합집합)로 시작해 715칸 설계, 스냅샷 src_main8, 테스트 7개 + tests/exec 전체 404 통과.
복원 재검사(G6, recheck_resume_cuts.py): 탈락 컷 14 + 빌드 실패 2편(4질의) = 18질의 전부 pass_relaxed 통과(최대 안착 드리프트 0.068m → 0.0~0.03m, 통을 세우니 해결). make_resume_cells_gt.py --relaxed로 우주가 143→161질의(단일 100·multi 61), 715→805칸으로 확장됐다.
| 스모크 | 스냅샷 | 결과 |
|---|---|---|
| sm1(train_123, 옮기기+방문2방) | src_main11(수정 전) | 5 arm 전부 거실 식탁으로 가 abort/루프 — 출발 가구 결함 재현 |
| sm1(같은 칸) | src_main13(수정 후) | 5/5 — 5 arm 전부 정확히 부엌 식탁으로. GC blind .50·frames-uniform .75·rf-v3 .50·vis-pure .50·tagmem .50 |
| sm0(누름+담기, 최종) | src_main11 | 5/5, tagmem GC .60(최고 — 노트로 누름 횟수를 추적한 유일한 arm) |
10행 최종: 비용 평균 $0.250/칸(중앙 .253·최대 .645) · 18.4분/칸(중앙 11.9·최대 44.5). 이를 단위당 환산하면 본 런 805칸 ≈ $115 · 140 GPU-h, 칸당 평균 그대로면 ≈$202 · 247 GPU-h(상한).
4가족(find·restore·routine·resume) 오라클 표가 같은 조건(GT 계획 + 시드 없음)으로 닫힌다. resume은 GT가 "발화+방+잔여횟수"라는 형태를 취해, 실험 2에서 미결정이던 "어느 방이 남았는가"(visit_rooms)도 측정 가능해진다. 스모크 반복에서 드러난 두 결함(방 채점·목적지 모호성)은 실험 2(온라인 VLM eval) resume에도 동일하게 존재해, 사후 재채점 필요성을 재확인시켰다.
805칸 완주 후 check_resume_returns.py로 회수 검사 → archive_oracle_plan.py에 resume 추가 → 4가족 통합 표 완성.
resume 오라클 셀 중 통 과제 질의(≈60개, 300칸)는 별도로 발견된 주입 컨테이너 파킹 버그의 영향권 — 수정판(src_main11 이후) 반영 여부를 재확인해야 한다.