Index
2026-09-08 — Analysis · 데이터 검수

resume 데이터셋 검수 — HF 61871a3e (type2 100편 · 질의 161행 + cue ablation 322행)

scene-mem-benchmark v1.1 · 2026-09-08 09:21 UTC 릴리즈 · 9/3 임시 12편(143b49ac)을 완전히 대체한 본 설계 — 전수 검사 + 표본 12편 8배속 3캠 영상·컷 마커·질의 카드

TL;DR

100
편 / 100 하우스 · 34 GB
13.3h
총 길이 (편당 5.0–13.9분)
161
질의 (resume1 100 · multi 61)
412
정답 유닛 (행당 1–5)
27
🔴 오라클 미완주 행
10
🔴 budget 400 (수행 불가)
15
control 슬롯 (k_dst=0)
0
누출·정합성 결함

1무엇이 왔나 — 9/3 임시 12편 → 본 설계 100편

143b49ac (9/3, 임시)61871a3e (9/8, 본 설계)
컨텍스트12편 / 11 하우스 (seed 1200·1201) · 165분100편 / 100 하우스 (seed 2000) · 801분 · 34 GB
편 구성task 4개를 순서대로 전부 수행task 2개 + 심부름(errand) 2–3개, 전환은 전부 사용자 발화. 편은 한쪽 또는 양쪽이 미완인 채 끝난다
질의편당 4행(task type별 1) · 전부 미완 task 1개편당 1–2행 · resume1 100 / multi 61(미완 task 2개를 둘 다 끝내야 함)
문장“You were in the middle of something. Continue what you were doing.”“You were interrupted earlier. Go back and finish (all of) what you were doing.”
오답 유인끝난 decoy task(다시 할 이유는 없음)finished[] — 끝난 심부름·task. 다시 하면 no_finished_redo 실패(닫힌 서랍 또 닫기, check 를 또 보러 가기)
채점정확히 r개 유닛task마다 right_task ∧ no_redo ∧ attempt_count==r ∧ stop_correct, multi 는 전부 만족. attempt_count 는 시도 기준이라 파지 실패에 강인
문서README 에 resume 0건README §resume + eval/resume/README.md(필드 사전) 신규

편 하나의 흐름 (변형 A/B/C)

변형
  • A (24편): T1 이 심부름으로 끊긴 뒤 재개되지 않고 T2 가 시작된다 → 컷에서 미완 2개
  • B (37편): T1 재개 → 다시 끊김 → T2 시작
  • C (39편): T1 을 재개해 끝까지 마친 뒤 T2 시작 → 미완은 T2 하나뿐이고 T1 은 finished[] 의 미끼 (그래서 C 는 multi 행이 없다)
심부름(errand) 5종 — 총 237개
  • check 115 · 가서 보고만 오기(다시 보러 가면 실패)
  • fetch_one 47 · 하나 가져오기
  • open_fixture 44 / close_fixture 23 · 서랍·냉장고 열고 닫기
  • close_laptop 8
심부름은 "중단 → 심부름 → (재개|새 task)" 로 미완 task 와 컷 사이에 끼어 axes.interference 로 기록된다.

행 하나가 담고 있는 것

query_id resume:<house>__<seed>:cut_NN context_frames [0, f_cut] ← 정책이 보는 영상 구간(닫힌 구간) start_state states/cut_NN.npz (MuJoCo 전체 덤프) budget_steps = max(400, 1.5 × oracle.steps) commands[] 컷 직전까지의 사용자 발화 전부 (task_start | stop_errand | resume) pending[] 미완 task 1–2개: n(명령 개수) · m(끝낸 수) · r = n − m (정답) · done_units[] · in_room · gap_s 물체 task: remaining_supply/supply_detail(on·at·off) · pre_existing(dst=k_dst 실측, src, dst_planned) visit_rooms: visited_rooms[] (간 방 rid) finished[] 컷 전에 끝난 심부름 + (변형 C) 끝난 task — 다시 하면 실패 axes locality · interference · variant · last_stopped · r_total · k_dst (채점에 안 씀) oracle steps · unit_order · completed · source(tail | episode+tail)
실제 행 원문 (multi — 방 4개 중 2개 방문 + 머그 3개 중 1개 이동, r_total=4)
{
 "schema_version": "2.0",
 "family": "resume",
 "kind": "multi",
 "query_id": "resume:train_123__2000:cut_06",
 "context": "contexts/type2/train_123__2000",
 "context_frames": [
  0,
  4453
 ],
 "start_state": "states/cut_06.npz",
 "query": "You were interrupted earlier. Go back and finish all of what you were doing.",
 "cue": "bare",
 "role": "main",
 "commands": [
  {
   "task_id": "T1",
   "frame": 1,
   "kind": "task_start",
   "text": "Navigate to every room in the house."
  },
  {
   "task_id": "T1",
   "frame": 341,
   "kind": "stop_errand",
   "text": "Hold on — go check whether the phone is still on the sofa in the living room first.",
   "errand": "E1"
  },
  {
   "task_id": "T1",
   "frame": 694,
   "kind": "resume",
   "text": "Okay, continue what you were doing."
  },
  {
   "task_id": "T1",
   "frame": 1502,
   "kind": "stop_errand",
   "text": "Hold on — go check whether the pillow is still on the sofa in the living room first.",
   "errand": "E2"
  },
  {
   "task_id": "T2",
   "frame": 2363,
   "kind": "task_start",
   "text": "Pick up three of the mugs from the dining table and place them in or on the countertop."
  }
 ],
 "budget_steps": 7818,
 "cut_id": "cut_06",
 "cut_phase": "clean",
 "cut_site": "unit",
 "pending": [
  {
   "task_id": "T1",
   "type": "visit_rooms",
   "n": 4,
   "m": 2,
   "r": 2,
   "done_units": [
    {
     "unit": 0,
     "obj": null,
     "frame": 340
    },
    {
     "unit": 1,
     "obj": null,
     "frame": 1501
    }
   ],
   "remaining_supply": null,
   "supply_detail": null,
   "pre_existing": {
    "dst": null,
    "dst_planned": null,
    "src": null
   },
   "baseline_seen": null,
   "container": null,
   "src_surface": null,
   "dst_surface": null,
   "appliance": null,
   "room": null,
   "utterance": "Navigate to every room in the house.",
   "start_frame": 1,
   "in_room": true,
   "gap_s": 118.1,
   "visited_rooms": [
    7,
    6
   ]
  },
  {
   "task_id": "T2",
   "type": "move_objects",
   "n": 3,
   "m": 1,
   "r": 2,
   "done_units": [
    {
     "unit": 0,
     "obj": "t2a0_Mug_2",
     "frame": 4452
    }
   ],
   "remaining_supply": 4,
   "supply_detail": {
    "on": 4,
    "at": 1,
    "off": 0
   },
   "pre_existing": {
    "dst": 2,
    "dst_planned": 2,
    "src": 2
   },
   "baseline_seen": null,
   "container": null,
   "src_surface": "diningtable_a2b8eb556a504cc29381a375cd56b397_1_0_6",
   "dst_surface": "countertop_0732260734a411b46bbfe8ee47797dab_1_0_6",
   "appliance": null,
   "room": 6,
   "utterance": "Pick up three of the mugs from the dining table and place them in or on the countertop.",
   "start_frame": 2363,
   "in_room": true,
   "gap_s": 0.0
  }
 ],
 "finished": [
  {
   "task_id": "E1",
   "type": "check",
   "target": "cellulartelephone_43b2396be97b1322a94e498589888114_1_0_7",
   "text": "go check whether the phone is still on the sofa in the living room",
   "done": true
  },
  {
   "task_id": "E2",
   "type": "check",
   "target": "pillow_4b2c3143f409251db55cb5ac5dcb1f3c_1_0_7",
   "text": "go check whether the pillow is still on the sofa in the living room",
   "done": true
  }
 ],
 "axes": {
  "n_pending": 2,
  "locality": "at_task",
  "interference": [],
  "last_stopped": "T2",
  "r_total": 4,
  "k_dst": [
   null,
   2
  ],
  "variant": "B",
  "fetch_scope": null
 },
 "oracle": {
  "steps": 5212,
  "unit_order": [
   "T1:4",
   "T1:5",
   "T2:t2a1_Mug_2",
   "T2:t2a2_Mug_2"
  ],
  "completed": [
   true,
   true
  ],
  "source": "episode+tail"
 },
 "house": "train_123",
 "seed": 2000
}
같은 행의 cue ablation 2행 (task_named / task_named_n)
[
 {
  "schema_version": "2.0",
  "family": "resume",
  "kind": "multi",
  "query_id": "resume:train_123__2000:cut_06:task_named",
  "context": "contexts/type2/train_123__2000",
  "context_frames": [
   0,
   4453
  ],
  "start_state": "states/cut_06.npz",
  "query": "You were interrupted earlier. Go back and finish all of what you were doing — visiting every room and moving the mugs to the countertop.",
  "cue": "task_named",
  "role": "ablation",
  "commands": [
   {
    "task_id": "T1",
    "frame": 1,
    "kind": "task_start",
    "text": "Navigate to every room in the house."
   },
   {
    "task_id": "T1",
    "frame": 341,
    "kind": "stop_errand",
    "text": "Hold on — go check whether the phone is still on the sofa in the living room first.",
    "errand": "E1"
   },
   {
    "task_id": "T1",
    "frame": 694,
    "kind": "resume",
    "text": "Okay, continue what you were doing."
   },
   {
    "task_id": "T1",
    "frame": 1502,
    "kind": "stop_errand",
    "text": "Hold on — go check whether the pillow is still on the sofa in the living room first.",
    "errand": "E2"
   },
   {
    "task_id": "T2",
    "frame": 2363,
    "kind": "task_start",
    "text": "Pick up three of the mugs from the dining table and place them in or on the countertop."
   }
  ],
  "budget_steps": 7818,
  "cut_id": "cut_06",
  "cut_phase": "clean",
  "cut_site": "unit",
  "pending": [
   {
    "task_id": "T1",
    "type": "visit_rooms",
    "n": 4,
    "m": 2,
    "r": 2,
    "done_units": [
     {
      "unit": 0,
      "obj": null,
      "frame": 340
     },
     {
      "unit": 1,
      "obj": null,
      "frame": 1501
     }
    ],
    "remaining_supply": null,
    "supply_detail": null,
    "pre_existing": {
     "dst": null,
     "dst_planned": null,
     "src": null
    },
    "baseline_seen": null,
    "container": null,
    "src_surface": null,
    "dst_surface": null,
    "appliance": null,
    "room": null,
    "utterance": "Navigate to every room in the house.",
    "start_frame": 1,
    "in_room": true,
    "gap_s": 118.1,
    "visited_rooms": [
     7,
     6
    ]
   },
   {
    "task_id": "T2",
    "type": "move_objects",
    "n": 3,
    "m": 1,
    "r": 2,
    "done_units": [
     {
      "unit": 0,
      "obj": "t2a0_Mug_2",
      "frame": 4452
     }
    ],
    "remaining_supply": 4,
    "supply_detail": {
     "on": 4,
     "at": 1,
     "off": 0
    },
    "pre_existing": {
     "dst": 2,
     "dst_planned": 2,
     "src": 2
    },
    "baseline_seen": null,
    "container": null,
    "src_surface": "diningtable_a2b8eb556a504cc29381a375cd56b397_1_0_6",
    "dst_surface": "countertop_0732260734a411b46bbfe8ee47797dab_1_0_6",
    "appliance": null,
    "room": 6,
    "utterance": "Pick up three of the mugs from the dining table and place them in or on the countertop.",
    "start_frame": 2363,
    "in_room": true,
    "gap_s": 0.0
   }
  ],
  "finished": [
   {
    "task_id": "E1",
    "type": "check",
    "target": "cellulartelephone_43b2396be97b1322a94e498589888114_1_0_7",
    "text": "go check whether the phone is still on the sofa in the living room",
    "done": true
   },
   {
    "task_id": "E2",
    "type": "check",
    "target": "pillow_4b2c3143f409251db55cb5ac5dcb1f3c_1_0_7",
    "text": "go check whether the pillow is still on the sofa in the living room",
    "done": true
   }
  ],
  "axes": {
   "n_pending": 2,
   "locality": "at_task",
   "interference": [],
   "last_stopped": "T2",
   "r_total": 4,
   "k_dst": [
    null,
    2
   ],
   "variant": "B",
   "fetch_scope": null
  },
  "oracle": {
   "steps": 5212,
   "unit_order": [
    "T1:4",
    "T1:5",
    "T2:t2a1_Mug_2",
    "T2:t2a2_Mug_2"
   ],
   "completed": [
    true,
    true
   ],
   "source": "episode+tail"
  },
  "house": "train_123",
  "seed": 2000
 },
 {
  "schema_version": "2.0",
  "family": "resume",
  "kind": "multi",
  "query_id": "resume:train_123__2000:cut_06:task_named_n",
  "context": "contexts/type2/train_123__2000",
  "context_frames": [
   0,
   4453
  ],
  "start_state": "states/cut_06.npz",
  "query": "You were interrupted earlier. Go back and finish all of what you were doing — visiting every room and moving the mugs to the countertop — three in total.",
  "cue": "task_named_n",
  "role": "ablation",
  "commands": [
   {
    "task_id": "T1",
    "frame": 1,
    "kind": "task_start",
    "text": "Navigate to every room in the house."
   },
   {
    "task_id": "T1",
    "frame": 341,
    "kind": "stop_errand",
    "text": "Hold on — go check whether the phone is still on the sofa in the living room first.",
    "errand": "E1"
   },
   {
    "task_id": "T1",
    "frame": 694,
    "kind": "resume",
    "text": "Okay, continue what you were doing."
   },
   {
    "task_id": "T1",
    "frame": 1502,
    "kind": "stop_errand",
    "text": "Hold on — go check whether the pillow is still on the sofa in the living room first.",
    "errand": "E2"
   },
   {
    "task_id": "T2",
    "frame": 2363,
    "kind": "task_start",
    "text": "Pick up three of the mugs from the dining table and place them in or on the countertop."
   }
  ],
  "budget_steps": 7818,
  "cut_id": "cut_06",
  "cut_phase": "clean",
  "cut_site": "unit",
  "pending": [
   {
    "task_id": "T1",
    "type": "visit_rooms",
    "n": 4,
    "m": 2,
    "r": 2,
    "done_units": [
     {
      "unit": 0,
      "obj": null,
      "frame": 340
     },
     {
      "unit": 1,
      "obj": null,
      "frame": 1501
     }
    ],
    "remaining_supply": null,
    "supply_detail": null,
    "pre_existing": {
     "dst": null,
     "dst_planned": null,
     "src": null
    },
    "baseline_seen": null,
    "container": null,
    "src_surface": null,
    "dst_surface": null,
    "appliance": null,
    "room": null,
    "utterance": "Navigate to every room in the house.",
    "start_frame": 1,
    "in_room": true,
    "gap_s": 118.1,
    "visited_rooms": [
     7,
     6
    ]
   },
   {
    "task_id": "T2",
    "type": "move_objects",
    "n": 3,
    "m": 1,
    "r": 2,
    "done_units": [
     {
      "unit": 0,
      "obj": "t2a0_Mug_2",
      "frame": 4452
     }
    ],
    "remaining_supply": 4,
    "supply_detail": {
     "on": 4,
     "at": 1,
     "off": 0
    },
    "pre_existing": {
     "dst": 2,
     "dst_planned": 2,
     "src": 2
    },
    "baseline_seen": null,
    "container": null,
    "src_surface": "diningtable_a2b8eb556a504cc29381a375cd56b397_1_0_6",
    "dst_surface": "countertop_0732260734a411b46bbfe8ee47797dab_1_0_6",
    "appliance": null,
    "room": 6,
    "utterance": "Pick up three of the mugs from the dining table and place them in or on the countertop.",
    "start_frame": 2363,
    "in_room": true,
    "gap_s": 0.0
   }
  ],
  "finished": [
   {
    "task_id": "E1",
    "type": "check",
    "target": "cellulartelephone_43b2396be97b1322a94e498589888114_1_0_7",
    "text": "go check whether the phone is still on the sofa in the living room",
    "done": true
   },
   {
    "task_id": "E2",
    "type": "check",
    "target": "pillow_4b2c3143f409251db55cb5ac5dcb1f3c_1_0_7",
    "text": "go check whether the pillow is still on the sofa in the living room",
    "done": true
   }
  ],
  "axes": {
   "n_pending": 2,
   "locality": "at_task",
   "interference": [],
   "last_stopped": "T2",
   "r_total": 4,
   "k_dst": [
    null,
    2
   ],
   "variant": "B",
   "fetch_scope": null
  },
  "oracle": {
   "steps": 5212,
   "unit_order": [
    "T1:4",
    "T1:5",
    "T2:t2a1_Mug_2",
    "T2:t2a2_Mug_2"
   ],
   "completed": [
    true,
    true
   ],
   "source": "episode+tail"
  },
  "house": "train_123",
  "seed": 2000
 }
]
eval/resume/stats.json 원문
{
 "schema_version": "2.0",
 "family": "resume",
 "built_at": "2026-09-08T08:20:45+00:00",
 "rows": 161,
 "answers": 412,
 "contexts": 100,
 "rows_per_context": {
  "min": 1,
  "max": 2,
  "mean": 1.61
 },
 "dropped": {
  "total": 0,
  "by_reason": {}
 },
 "drop_rate": 0.0,
 "oracle": {
  "run": 161,
  "ok": null
 },
 "axes": {
  "kind": {
   "multi": 61,
   "resume1": 100
  },
  "locality": {
   "at_task": 93,
   "away": 68
  },
  "n_pending": {
   "1": 100,
   "2": 61
  },
  "variant": {
   "A": 48,
   "B": 74,
   "C": 39
  },
  "cut_site": {
   "errand_end": 93,
   "unit": 68
  },
  "r_total": {
   "1": 31,
   "2": 56,
   "3": 38,
   "4": 25,
   "5": 11
  },
  "pending_type": {
   "move_objects": 44,
   "press_button": 49,
   "put_in_container": 67,
   "visit_rooms": 62
  },
  "pending_r": {
   "1": 96,
   "2": 73,
   "3": 42,
   "4": 11
  },
  "m_zero": {
   "False": 222
  },
  "k_dst": {
   "0": 15,
   "1": 35,
   "2": 31,
   "3": 30
  },
  "in_room": {
   "False": 128,
   "True": 94
  },
  "interference": {
   "check": 41,
   "close_fixture": 11,
   "close_laptop": 3,
   "fetch_one": 22,
   "open_fixture": 16
  },
  "fetch_scope": {
   "None": 161
  },
  "finished_n": {
   "0": 14,
   "1": 42,
   "2": 73,
   "3": 32
  },
  "oracle_source": {
   "episode+tail": 52,
   "tail": 109
  },
  "budget_steps": {
   "n": 161,
   "median": 4452,
   "p10": 1177,
   "p90": 9666,
   "max": 17214
  },
  "gap_s": {
   "n": 222,
   "median": 47.8,
   "p10": 0.0,
   "p90": 243.7,
   "max": 477.1
  },
  "context_frames": {
   "n": 161,
   "median": 8973,
   "p10": 2510,
   "p90": 13578,
   "max": 20763
  }
 },
 "by_context": {
  "contexts/type2/train_123__2000": 2,
  "contexts/type2/train_1543__2000": 1,
  "contexts/type2/train_1588__2000": 1,
  "contexts/type2/train_1639__2000": 2,
  "contexts/type2/train_1843__2000": 2,
  "contexts/type2/train_204__2000": 2,
  "contexts/type2/train_2389__2000": 1,
  "contexts/type2/train_2662__2000": 1,
  "contexts/type2/train_2739__2000": 2,
  "contexts/type2/train_2773__2000": 2,
  "contexts/type2/train_2852__2000": 1,
  "contexts/type2/train_2874__2000": 2,
  "contexts/type2/train_2877__2000": 2,
  "contexts/type2/train_2978__2000": 1,
  "contexts/type2/train_307__2000": 2,
  "contexts/type2/train_308__2000": 2,
  "contexts/type2/train_3098__2000": 2,
  "contexts/type2/train_3118__2000": 1,
  "contexts/type2/train_3252__2000": 2,
  "contexts/type2/train_3274__2000": 1,
  "contexts/type2/train_3378__2000": 1,
  "contexts/type2/train_3553__2000": 1,
  "contexts/type2/train_3585__2000": 2,
  "contexts/type2/train_3610__2000": 2,
  "contexts/type2/train_3667__2000": 1,
  "contexts/type2/train_3716__2000": 1,
  "contexts/type2/train_377__2000": 2,
  "contexts/type2/train_3897__2000": 2,
  "contexts/type2/train_3911__2000": 2,
  "contexts/type2/train_3953__2000": 1,
  "contexts/type2/train_4011__2000": 2,
  "contexts/type2/train_4193__2000": 1,
  "contexts/type2/train_4355__2000": 2,
  "contexts/type2/train_4409__2000": 2,
  "contexts/type2/train_4467__2000": 1,
  "contexts/type2/train_4564__2000": 2,
  "contexts/type2/train_4660__2000": 1,
  "contexts/type2/train_4772__2000": 2,
  "contexts/type2/train_4837__2000": 2,
  "contexts/type2/train_4844__2000": 2,
  "contexts/type2/train_4915__2000": 1,
  "contexts/type2/train_4918__2000": 2,
  "contexts/type2/train_4958__2000": 1,
  "contexts/type2/train_4998__2000": 2,
  "contexts/type2/train_5057__2000": 1,
  "contexts/type2/train_5092__2000": 2,
  "contexts/type2/train_5134__2000": 1,
  "contexts/type2/train_527__2000": 2,
  "contexts/type2/train_5374__2000": 1,
  "contexts/type2/train_5383__2000": 2,
  "contexts/type2/train_5522__2000": 2,
  "contexts/type2/train_5730__2000": 2,
  "contexts/type2/train_5836__2000": 2,
  "contexts/type2/train_5861__2000": 1,
  "contexts/type2/train_5886__2000": 1,
  "contexts/type2/train_5958__2000": 1,
  "contexts/type2/train_6009__2000": 1,
  "contexts/type2/train_6020__2000": 2,
  "contexts/type2/train_6049__2000": 2,
  "contexts/type2/train_6278__2000": 1,
  "contexts/type2/train_6325__2000": 2,
  "contexts/type2/train_6497__2000": 1,
  "contexts/type2/train_666__2000": 1,
  "contexts/type2/train_6844__2000": 2,
  "contexts/type2/train_6885__2000": 1,
  "contexts/type2/train_6948__2000": 2,
  "contexts/type2/train_7000__2000": 2,
  "contexts/type2/train_7037__2000": 1,
  "contexts/type2/train_7075__2000": 2,
  "contexts/type2/train_7151__2000": 1,
  "contexts/type2/train_7256__2000": 2,
  "contexts/type2/train_7332__2000": 2,
  "contexts/type2/train_746__2000": 2,
  "contexts/type2/train_8190__2000": 2,
  "contexts/type2/train_8263__2000": 2,
  "contexts/type2/train_8272__2000": 1,
  "contexts/type2/train_8293__2000": 1,
  "contexts/type2/train_8325__2000": 2,
  "contexts/type2/train_8336__2000": 2,
  "contexts/type2/train_8423__2000": 1,
  "contexts/type2/train_8513__2000": 2,
  "contexts/type2/train_8547__2000": 2,
  "contexts/type2/train_8554__2000": 2,
  "contexts/type2/train_8590__2000": 2,
  "contexts/type2/train_8654__2000": 1,
  "contexts/type2/train_8808__2000": 2,
  "contexts/type2/train_8825__2000": 1,
  "contexts/type2/train_8997__2000": 2,
  "contexts/type2/train_910__2000": 2,
  "contexts/type2/train_9149__2000": 2,
  "contexts/type2/train_9402__2000": 2,
  "contexts/type2/train_9578__2000": 2,
  "contexts/type2/train_9635__2000": 2,
  "contexts/type2/train_9651__2000": 2,
  "contexts/type2/train_9864__2000": 1,
  "contexts/type2/train_9912__2000": 2,
  "contexts/type2/train_9918__2000": 1,
  "contexts/type2/train_9965__2000": 2,
  "contexts/type2/train_9986__2000": 1,
  "contexts/type2/train_9987__2000": 2
 }
}

2축과 분포 (161행 · pending 슬롯 222)

2-1. 문장 3종

cue행문장모델이 스스로 알아내야 하는 것
bare (main)161You were interrupted earlier. Go back and finish what you were doing. (multi 는 all of what) ① 어느 task 가 미완인지(끝난 심부름·task 제외) ② 몇 개 했는지(m) ③ 남은 r개만, ④ multi 면 둘 다
task_named161위 + — putting the mugs into the basket.② ③ (task 는 알려줌)
task_named_n161위 + — four in total.② ③ (총 개수 n 도 알려줌 → m 만 기억하면 됨)
9/3 🔴 결함 해소 확인: 예전엔 press_button ablation 24행 문장에 가전 body id 가 그대로 박혀 있었다 (…on the microwaveoven a58378a4…c0807c 1 0 6 — five in total.). 이번 322행에는 body id·좌표 꼬리표가 0건이고, “N in total” 의 N 도 161행 전부 pending 의 n 과 일치한다(visit_rooms 는 "every room" 이라 수를 안 붙임 — 일관됨).

2-2. 축 분포

kind (행 161) pending task 개수
resume1
100 (62%)
multi
61 (38%)
variant (편 스케줄 A/B/C)
B
74 (46%)
A
48 (30%)
C
39 (24%)
r_total = 그 행에서 해야 할 남은 유닛 총수
1
31 (19%)
2
56 (35%)
3
38 (24%)
4
25 (16%)
5
11 (7%)
pending task type (슬롯 222)
put_in_container
67 (30%)
visit_rooms
62 (28%)
press_button
49 (22%)
move_objects
44 (20%)
pending 각각의 r
1
96 (43%)
2
73 (33%)
3
42 (19%)
4
11 (5%)
n(명령)/m(완료)/r(남음) 조합
n=4 m=3 r=1
46 (21%)
n=4 m=2 r=2
40 (18%)
n=3 m=2 r=1
35 (16%)
n=4 m=1 r=3
30 (14%)
n=3 m=1 r=2
23 (10%)
n=5 m=4 r=1
15 (7%)
n=5 m=2 r=3
12 (5%)
n=5 m=1 r=4
11 (5%)
n=5 m=3 r=2
10 (5%)
k_dst = 도착면/용기 기존 동종 물체 (물체 슬롯 111) 0 = control
0
15 (14%)
1
35 (32%)
2
31 (28%)
3
30 (27%)
k_src = 출발면 여분 동종 물체 2 또는 3뿐
2
43 (39%)
3
68 (61%)
cut 시점 출발면 잔여 − r (여유)
여유 2
47 (42%)
여유 3
54 (49%)
여유 1
10 (9%)
cut_site (컷을 뜬 자리)
errand_end
93 (58%)
unit
68 (42%)
locality (컷 시점 로봇 위치)
at_task
93 (58%)
away
68 (42%)
finished 개수 (다시 하면 실패인 오답 유인)
0
14 (9%)
1
42 (26%)
2
73 (45%)
3
32 (20%)
interference (마지막 유닛 이후 낀 것)
check
41 (44%)
fetch_one
22 (24%)
open_fixture
16 (17%)
close_fixture
11 (12%)
close_laptop
3 (3%)
oracle source
tail
109 (68%)
episode+tail
52 (32%)
budget_steps
0–1999
38 (24%)
2000–3999
36 (22%)
4000–5999
28 (17%)
6000–7999
24 (15%)
8000–9999
21 (13%)
10000–11999
8 (5%)
12000–13999
2 (1%)
14000–15999
2 (1%)
16000–17999
2 (1%)
관찰 분량 (cut까지)
0–1분
7 (4%)
1–2분
14 (9%)
2–3분
16 (10%)
3–4분
10 (6%)
4–5분
11 (7%)
5–6분
24 (15%)
6–7분
27 (17%)
7–8분
17 (11%)
8–9분
18 (11%)
9–10분
12 (7%)
10–11분
2 (1%)
11–12분
2 (1%)
13–14분
1 (1%)
cut 위치 (에피소드 진행률)
20–39%
20 (12%)
40–59%
19 (12%)
60–79%
27 (17%)
80–99%
81 (50%)
0–19%
14 (9%)
errand 종류 (편 전체 237)
check
115 (49%)
open_fixture
44 (19%)
fetch_one
47 (20%)
close_laptop
8 (3%)
close_fixture
23 (10%)
task 종류 (편 전체 200)
visit_rooms
51 (26%)
move_objects
49 (24%)
put_in_container
61 (30%)
press_button
39 (20%)
press_button 가전
automaticwasher
6 (15%)
microwaveoven
20 (51%)
coffeemaker
7 (18%)
clothesdryer
6 (15%)
읽는 법: 컷은 에피소드의 median 80% 지점 — 즉 평균 6.0분(median 8973프레임)을 보고 답해야 한다. locality 는 컷 자리와 붙어 있다(errand_end 93 중 68은 away — 심부름 끝난 자리가 다른 방). finished 는 행당 0–3개(0은 14행뿐)라 "이미 끝난 것을 다시 하지 않기" 가 거의 모든 행에서 채점된다. r_total 은 2가 최빈(56행), 5까지 있다.

3전수 검수 결과

161행 · 322 ablation 행 · 100편의 subtasks.json/states 전부를 대상으로 31항목을 돌렸다 (tmp/hf_check/inspect_resume_61871a3e.py).

판정검사건내용
🔴 수정 필요oracle_incomplete27대본 로봇(오라클)이 미완 task 를 끝내지 못한 채 배포된 행. eval/resume/README 의 자격 4(“oracle.completed 가 전부 true 인 행만 배포”)와 카드의 “where the oracle could not finish were dropped” 에 정면으로 어긋난다. stats.json 의 oracle.ok = null 이 게이트 미실행의 흔적.
목록 27/27
["resume:train_2739__2000:cut_04", "resume1", 1, 0, 0, 400, ["T1:put_in_container:r=1:FAIL"]]
["resume:train_2739__2000:cut_05", "multi", 4, 1, 1235, 1852, ["T1:put_in_container:r=1:FAIL", "T2:visit_rooms:r=3:FAIL"]]
["resume:train_2773__2000:cut_05", "resume1", 2, 1, 1980, 2970, ["T1:put_in_container:r=2:FAIL"]]
["resume:train_2773__2000:cut_07", "multi", 5, 1, 1980, 2970, ["T1:put_in_container:r=2:FAIL", "T2:press_button:r=3:FAIL"]]
["resume:train_3118__2000:cut_06", "resume1", 4, 3, 591, 886, ["T2:press_button:r=4:FAIL"]]
["resume:train_3252__2000:cut_00", "resume1", 4, 2, 394, 591, ["T1:press_button:r=4:FAIL"]]
["resume:train_3252__2000:cut_10", "multi", 3, 0, 0, 400, ["T1:press_button:r=2:FAIL", "T2:put_in_container:r=1:FAIL"]]
["resume:train_3274__2000:cut_10", "resume1", 1, 0, 0, 400, ["T2:put_in_container:r=1:FAIL"]]
["resume:train_3667__2000:cut_07", "resume1", 4, 0, 0, 400, ["T2:press_button:r=4:FAIL"]]
["resume:train_3911__2000:cut_02", "resume1", 2, 2, 5401, 8101, ["T1:put_in_container:r=2:FAIL"]]
["resume:train_3911__2000:cut_06", "multi", 4, 1, 2847, 4270, ["T1:put_in_container:r=1:FAIL", "T2:visit_rooms:r=3:FAIL"]]
["resume:train_4355__2000:cut_04", "resume1", 2, 0, 0, 400, ["T1:put_in_container:r=2:FAIL"]]
["resume:train_4355__2000:cut_07", "multi", 4, 0, 0, 400, ["T1:put_in_container:r=2:FAIL", "T2:visit_rooms:r=2:FAIL"]]
["resume:train_4918__2000:cut_00", "resume1", 2, 2, 4239, 6358, ["T1:move_objects:r=2:FAIL"]]
["resume:train_4918__2000:cut_08", "multi", 3, 1, 2253, 3379, ["T1:move_objects:r=1:FAIL", "T2:put_in_container:r=2:FAIL"]]
["resume:train_4998__2000:cut_07", "multi", 3, 2, 4864, 7296, ["T1:put_in_container:r=1:OK", "T2:move_objects:r=2:FAIL"]]
["resume:train_5134__2000:cut_06", "resume1", 2, 2, 2359, 3538, ["T2:press_button:r=2:FAIL"]]
["resume:train_5522__2000:cut_06", "multi", 5, 3, 5053, 7579, ["T1:press_button:r=1:OK", "T2:put_in_container:r=4:FAIL"]]
["resume:train_7000__2000:cut_07", "multi", 5, 4, 5461, 8191, ["T1:press_button:r=2:OK", "T2:put_in_container:r=3:FAIL"]]
["resume:train_7151__2000:cut_08", "resume1", 2, 0, 0, 400, ["T2:press_button:r=2:FAIL"]]
["resume:train_746__2000:cut_10", "multi", 5, 3, 5929, 8893, ["T1:press_button:r=1:OK", "T2:put_in_container:r=4:FAIL"]]
["resume:train_8423__2000:cut_10", "resume1", 2, 2, 2581, 3871, ["T2:visit_rooms:r=2:FAIL"]]
["resume:train_8654__2000:cut_08", "resume1", 1, 0, 0, 400, ["T2:press_button:r=1:FAIL"]]
["resume:train_9965__2000:cut_02", "resume1", 3, 3, 3829, 5743, ["T1:visit_rooms:r=3:FAIL"]]
["resume:train_9965__2000:cut_08", "multi", 5, 2, 3104, 4656, ["T1:visit_rooms:r=2:FAIL", "T2:move_objects:r=3:FAIL"]]
["resume:train_9987__2000:cut_05", "resume1", 1, 0, 0, 400, ["T1:put_in_container:r=1:FAIL"]]
["resume:train_9987__2000:cut_07", "multi", 3, 0, 0, 400, ["T1:put_in_container:r=1:FAIL", "T2:visit_rooms:r=2:FAIL"]]
🔴 수정 필요oracle_zero_budget_floor10위 중 steps=0(유닛을 하나도 못 굴림) → budget 이 하한 400 으로 떨어진 행. 오라클 성공 행의 유닛당 최소 비용이 262 스텝이라 1–4 유닛을 400 스텝에 끝내는 것은 불가능.
목록 10/10
["resume:train_2739__2000:cut_04", 1, 400]
["resume:train_3252__2000:cut_10", 3, 400]
["resume:train_3274__2000:cut_10", 1, 400]
["resume:train_3667__2000:cut_07", 4, 400]
["resume:train_4355__2000:cut_04", 2, 400]
["resume:train_4355__2000:cut_07", 4, 400]
["resume:train_7151__2000:cut_08", 2, 400]
["resume:train_8654__2000:cut_08", 1, 400]
["resume:train_9987__2000:cut_05", 1, 400]
["resume:train_9987__2000:cut_07", 3, 400]
통과cut_frame_mismatch0행의 context_frames[1] = subtasks.cuts[].frame = states/index.json 프레임 3중 일치
통과context_frames_bad0구간이 [0, f_cut] 이고 f_cut 이 에피소드 길이 안
통과start_state_missing0states/cut_NN.npz 파일 존재 (qpos/qvel/ctrl/time 키도 161/161 확인)
통과commands_ne_pre_cut0commands[] = 컷 직전까지의 발화 전량과 정확히 일치 — 컷 프레임의 발화(다음 명령)는 일부러 빠져 있다(누출 방지, 82행 해당)
통과finished_errands_mismatch0finished[] 의 심부름 = 컷 이전에 종료된 심부름 전량
통과pending_ne_cut0pending[] = cuts[].pending
통과kind_ne_pending_len0kind(resume1/multi) ↔ pending 개수(1/2)
통과query_wording0문장의 all of what ↔ multi
통과r_arithmetic0r = n − m 이고 len(done_units) = m
통과m_zero0모든 pending 이 m ≥ 1 — 즉 “시작은 했는데 덜 끝낸” 상태만 낸다(m=0 이면 기억이 필요 없다)
통과done_unit_after_cut0완료 유닛 프레임이 전부 컷 이전
통과budget_formula0budget_steps = max(400, ⌊1.5 × oracle.steps⌋)
통과unit_order_len0오라클 unit_order 길이 = r_total (오라클 성공 행 기준)
통과supply_le_r0물체 task 는 출발면 잔여 on 이 항상 r 보다 크다 — “남은 걸 다 옮겨”로는 못 푼다
통과supply_at_ne_m0supply_detail.at = m (로봇이 도착지에 놓은 수). 장면에서 세면 여기에 k_dst 가 더해진다
통과visit_rooms_arithmetic0visited_rooms 길이 = m, 편의 방 목록에서 뺀 나머지 = r
통과supply_on_nonobject0press_button·visit_rooms 에는 supply 필드가 없다(흔적이 없으니 셀 것도 없다)
통과body_id_leak0query·commands·finished·utterance 에 32자 body id / 좌표 꼬리표 없음
통과ablation_body_id_leak0cue ablation 322행 문장에 body id 없음 — 9/3 🔴 24행이 해소됨
통과ablation_payload_ne_main0ablation 행은 query/cue/role/query_id 외 모든 필드가 main 과 바이트 동일
통과ablation_count_ne_20행마다 ablation 형제가 정확히 2개(task_named, task_named_n)
통과episode_not_ok0episode_ok=true, drop_reason=null 100/100
통과unit_failed0유닛 768개 전부 성공 (실패 편은 생성 단계에서 폐기됨)
통과errand_failed0심부름 237개 전부 성공
🟠 라벨/문서supply_sum_ne_n_plus_ksrc14on+at+off 가 계획값 n_planned + k_src 와 안 맞는 슬롯(2개 부족). 자격(on > r)은 여전히 만족하지만 k_src 가 ‘계획값’이라 실측과 어긋난다. 8/14 는 아래 오라클 미완주 행과 겹친다 — 같은 편에서 물체가 사라졌을 가능성.
목록 14/14
["resume:train_2739__2000:cut_04", "T1", {"on": 2, "at": 3, "off": 0}, 4, 3]
["resume:train_2739__2000:cut_05", "T1", {"on": 2, "at": 3, "off": 0}, 4, 3]
["resume:train_2773__2000:cut_05", "T1", {"on": 3, "at": 2, "off": 0}, 4, 2]
["resume:train_2773__2000:cut_07", "T1", {"on": 3, "at": 2, "off": 0}, 4, 2]
["resume:train_3911__2000:cut_02", "T1", {"on": 4, "at": 1, "off": 0}, 3, 3]
["resume:train_3911__2000:cut_06", "T1", {"on": 3, "at": 2, "off": 0}, 3, 3]
["resume:train_4355__2000:cut_04", "T1", {"on": 3, "at": 3, "off": 0}, 5, 3]
["resume:train_4355__2000:cut_07", "T1", {"on": 3, "at": 3, "off": 0}, 5, 3]
["resume:train_4844__2000:cut_09", "T2", {"on": 3, "at": 1, "off": 0}, 4, 2]
["resume:train_5383__2000:cut_00", "T1", {"on": 4, "at": 1, "off": 0}, 5, 3]
["resume:train_5383__2000:cut_08", "T1", {"on": 2, "at": 3, "off": 0}, 5, 3]
["resume:train_6948__2000:cut_08", "T2", {"on": 2, "at": 2, "off": 0}, 4, 3]
["resume:train_9402__2000:cut_05", "T1", {"on": 3, "at": 4, "off": 0}, 5, 3]
["resume:train_9402__2000:cut_07", "T1", {"on": 3, "at": 4, "off": 0}, 5, 3]
🟠 라벨/문서L2_visit_nav_placeholder128visit_rooms 유닛의 L2 nav instruction 이 방 이름 대신 고정 문자열 “Navigate to the table”. L1 task_description(“Navigate to the bedroom”)은 정상 — 9/3 지적과 동일.
목록 30/128
["train_123__2000", "t1u0", "Navigate to the table", "Navigate to the living room"]
["train_123__2000", "t1u1", "Navigate to the table", "Navigate to the kitchen"]
["train_1543__2000", "t1u0", "Navigate to the table", "Navigate to the bedroom"]
["train_1543__2000", "t1u1", "Navigate to the table", "Navigate to the kitchen"]
["train_1543__2000", "t1u2", "Navigate to the table", "Navigate to the living room"]
["train_1543__2000", "t1u3", "Navigate to the table", "Navigate to the bathroom"]
["train_204__2000", "t2u0", "Navigate to the table", "Navigate to the bedroom"]
["train_204__2000", "t2u1", "Navigate to the table", "Navigate to the living room"]
["train_204__2000", "t2u2", "Navigate to the table", "Navigate to the bathroom"]
["train_2389__2000", "t2u0", "Navigate to the table", "Navigate to the kitchen"]
["train_2389__2000", "t2u1", "Navigate to the table", "Navigate to the living room"]
["train_2739__2000", "t2u0", "Navigate to the table", "Navigate to the bedroom"]
["train_2739__2000", "t2u1", "Navigate to the table", "Navigate to the living room"]
["train_2852__2000", "t2u0", "Navigate to the table", "Navigate to the bedroom"]
["train_2852__2000", "t2u1", "Navigate to the table", "Navigate to the kitchen"]
["train_2852__2000", "t2u2", "Navigate to the table", "Navigate to the bathroom"]
["train_2877__2000", "t2u0", "Navigate to the table", "Navigate to the living room"]
["train_2877__2000", "t2u1", "Navigate to the table", "Navigate to the bedroom"]
["train_2877__2000", "t2u2", "Navigate to the table", "Navigate to the bathroom"]
["train_307__2000", "t1u0", "Navigate to the table", "Navigate to the kitchen"]
["train_307__2000", "t1u1", "Navigate to the table", "Navigate to the bedroom"]
["train_307__2000", "t1u2", "Navigate to the table", "Navigate to the living room"]
["train_308__2000", "t1u0", "Navigate to the table", "Navigate to the kitchen"]
["train_308__2000", "t1u1", "Navigate to the table", "Navigate to the bedroom"]
["train_308__2000", "t1u2", "Navigate to the table", "Navigate to the bathroom"]
["train_3098__2000", "t2u0", "Navigate to the table", "Navigate to the bathroom"]
["train_3098__2000", "t2u1", "Navigate to the table", "Navigate to the kitchen"]
["train_3274__2000", "t1u0", "Navigate to the table", "Navigate to the living room"]
["train_3274__2000", "t1u1", "Navigate to the table", "Navigate to the bedroom"]
["train_3274__2000", "t1u2", "Navigate to the table", "Navigate to the kitchen"]
… 외 98건
🟠 라벨/문서L2_press_manip_wrong_appliance74press_button manip instruction 이 가전과 무관하게 “Press the button on the washing machine” 고정 — 실제 가전은 전자레인지 45·건조기 15·커피메이커 14 (세탁기 13건만 우연히 맞음).
목록 30/74
["train_2662__2000", "t1u0", "Press the button on the washing machine", "microwaveoven"]
["train_2662__2000", "t1u1", "Press the button on the washing machine", "microwaveoven"]
["train_2662__2000", "t1u2", "Press the button on the washing machine", "microwaveoven"]
["train_2662__2000", "t1u3", "Press the button on the washing machine", "microwaveoven"]
["train_2662__2000", "t1u4", "Press the button on the washing machine", "microwaveoven"]
["train_2874__2000", "t1u0", "Press the button on the washing machine", "coffeemaker"]
["train_2978__2000", "t1u0", "Press the button on the washing machine", "coffeemaker"]
["train_2978__2000", "t1u1", "Press the button on the washing machine", "coffeemaker"]
["train_2978__2000", "t1u2", "Press the button on the washing machine", "coffeemaker"]
["train_3118__2000", "t2u0", "Press the button on the washing machine", "clothesdryer"]
["train_3118__2000", "t2u1", "Press the button on the washing machine", "clothesdryer"]
["train_3118__2000", "t2u2", "Press the button on the washing machine", "clothesdryer"]
["train_3118__2000", "t2u3", "Press the button on the washing machine", "clothesdryer"]
["train_3252__2000", "t1u0", "Press the button on the washing machine", "clothesdryer"]
["train_3252__2000", "t1u1", "Press the button on the washing machine", "clothesdryer"]
["train_3252__2000", "t1u2", "Press the button on the washing machine", "clothesdryer"]
["train_3553__2000", "t2u0", "Press the button on the washing machine", "microwaveoven"]
["train_3553__2000", "t2u1", "Press the button on the washing machine", "microwaveoven"]
["train_3610__2000", "t1u0", "Press the button on the washing machine", "coffeemaker"]
["train_3667__2000", "t2u0", "Press the button on the washing machine", "clothesdryer"]
["train_4193__2000", "t1u0", "Press the button on the washing machine", "microwaveoven"]
["train_4193__2000", "t1u1", "Press the button on the washing machine", "microwaveoven"]
["train_4193__2000", "t1u2", "Press the button on the washing machine", "microwaveoven"]
["train_4193__2000", "t1u3", "Press the button on the washing machine", "microwaveoven"]
["train_4467__2000", "t2u0", "Press the button on the washing machine", "coffeemaker"]
["train_4467__2000", "t2u1", "Press the button on the washing machine", "coffeemaker"]
["train_4915__2000", "t2u0", "Press the button on the washing machine", "microwaveoven"]
["train_4915__2000", "t2u1", "Press the button on the washing machine", "microwaveoven"]
["train_5134__2000", "t2u0", "Press the button on the washing machine", "microwaveoven"]
["train_5134__2000", "t2u1", "Press the button on the washing machine", "microwaveoven"]
… 외 44건
🟠 라벨/문서fetch_scope_never_set22axes.fetch_scope 는 eval README 에 “fetch_one errand 가 낀 행에만” 이라고 정의돼 있는데 161행 전부 null — fetch_one 이 낀 행에서도 안 채워진다(죽은 축).
목록 22/22
"resume:train_1843__2000:cut_06"
"resume:train_204__2000:cut_05"
"resume:train_3098__2000:cut_03"
"resume:train_3378__2000:cut_10"
"resume:train_3585__2000:cut_02"
"resume:train_4011__2000:cut_02"
"resume:train_4355__2000:cut_04"
"resume:train_4772__2000:cut_04"
"resume:train_4772__2000:cut_08"
"resume:train_5522__2000:cut_05"
"resume:train_5958__2000:cut_07"
"resume:train_6844__2000:cut_05"
"resume:train_6948__2000:cut_08"
"resume:train_8263__2000:cut_05"
"resume:train_8590__2000:cut_02"
"resume:train_910__2000:cut_05"
"resume:train_910__2000:cut_08"
"resume:train_9149__2000:cut_03"
"resume:train_9402__2000:cut_05"
"resume:train_9965__2000:cut_02"
"resume:train_9965__2000:cut_08"
"resume:train_9987__2000:cut_05"
ℹ️ 설계control_k_dst_015k_dst=0 — 도착지를 세면 m 이 그대로 나오는 control 슬롯. 설계상 의도된 대조군이고 채점에서 분리 표기하면 된다.
목록 15/15
["resume:train_1543__2000:cut_06", "T2"]
["resume:train_1639__2000:cut_10", "T2"]
["resume:train_2978__2000:cut_07", "T2"]
["resume:train_3610__2000:cut_04", "T2"]
["resume:train_4998__2000:cut_07", "T2"]
["resume:train_5522__2000:cut_06", "T2"]
["resume:train_6049__2000:cut_08", "T2"]
["resume:train_6278__2000:cut_09", "T2"]
["resume:train_7000__2000:cut_07", "T2"]
["resume:train_8336__2000:cut_10", "T2"]
["resume:train_8808__2000:cut_04", "T2"]
["resume:train_9651__2000:cut_00", "T1"]
["resume:train_9651__2000:cut_09", "T1"]
["resume:train_9987__2000:cut_05", "T1"]
["resume:train_9987__2000:cut_07", "T1"]

3-1. 🔴 오라클 미완주 27행 (전체의 16.8%)

“대본 로봇이 이 컷에서 미완 task 를 다 끝내는 데 든 비용”이 오라클인데, 아래 행들은 completed 에 false 가 있다. 곧 정답이 실행 가능하다는 증거가 없는 행이고, 예산은 그 미완주 오라클로 계산돼 있다. 특히 steps=0 인 10행은 예산이 하한 400 으로 떨어져 어떤 정책도 통과할 수 없다.

query_idkind필요 유닛오라클이 실제로 굴린 유닛stepsbudget슬롯별 판정
resume:train_2739__2000:cut_04resume1100400 ← 하한T1:put_in_container:r=1:FAIL
resume:train_2739__2000:cut_05multi4112351852T1:put_in_container:r=1:FAIL · T2:visit_rooms:r=3:FAIL
resume:train_2773__2000:cut_05resume12119802970T1:put_in_container:r=2:FAIL
resume:train_2773__2000:cut_07multi5119802970T1:put_in_container:r=2:FAIL · T2:press_button:r=3:FAIL
resume:train_3118__2000:cut_06resume143591886T2:press_button:r=4:FAIL
resume:train_3252__2000:cut_00resume142394591T1:press_button:r=4:FAIL
resume:train_3252__2000:cut_10multi300400 ← 하한T1:press_button:r=2:FAIL · T2:put_in_container:r=1:FAIL
resume:train_3274__2000:cut_10resume1100400 ← 하한T2:put_in_container:r=1:FAIL
resume:train_3667__2000:cut_07resume1400400 ← 하한T2:press_button:r=4:FAIL
resume:train_3911__2000:cut_02resume12254018101T1:put_in_container:r=2:FAIL
resume:train_3911__2000:cut_06multi4128474270T1:put_in_container:r=1:FAIL · T2:visit_rooms:r=3:FAIL
resume:train_4355__2000:cut_04resume1200400 ← 하한T1:put_in_container:r=2:FAIL
resume:train_4355__2000:cut_07multi400400 ← 하한T1:put_in_container:r=2:FAIL · T2:visit_rooms:r=2:FAIL
resume:train_4918__2000:cut_00resume12242396358T1:move_objects:r=2:FAIL
resume:train_4918__2000:cut_08multi3122533379T1:move_objects:r=1:FAIL · T2:put_in_container:r=2:FAIL
resume:train_4998__2000:cut_07multi3248647296T1:put_in_container:r=1:OK · T2:move_objects:r=2:FAIL
resume:train_5134__2000:cut_06resume12223593538T2:press_button:r=2:FAIL
resume:train_5522__2000:cut_06multi5350537579T1:press_button:r=1:OK · T2:put_in_container:r=4:FAIL
resume:train_7000__2000:cut_07multi5454618191T1:press_button:r=2:OK · T2:put_in_container:r=3:FAIL
resume:train_7151__2000:cut_08resume1200400 ← 하한T2:press_button:r=2:FAIL
resume:train_746__2000:cut_10multi5359298893T1:press_button:r=1:OK · T2:put_in_container:r=4:FAIL
resume:train_8423__2000:cut_10resume12225813871T2:visit_rooms:r=2:FAIL
resume:train_8654__2000:cut_08resume1100400 ← 하한T2:press_button:r=1:FAIL
resume:train_9965__2000:cut_02resume13338295743T1:visit_rooms:r=3:FAIL
resume:train_9965__2000:cut_08multi5231044656T1:visit_rooms:r=2:FAIL · T2:move_objects:r=3:FAIL
resume:train_9987__2000:cut_05resume1100400 ← 하한T1:put_in_container:r=1:FAIL
resume:train_9987__2000:cut_07multi300400 ← 하한T1:put_in_container:r=1:FAIL · T2:visit_rooms:r=2:FAIL
영향 범위 — 읽기 트랙에는 영향이 없다. 오라클의 역할은 ① 실행 가능 증거 ② 스텝 예산 근거 둘뿐이고, 둘 다 로봇이 실제로 실행하는 트랙에서만 의미가 있다. 정답 자체는 오라클을 전혀 거치지 않는다 — r = n − m 이고 m 은 아래처럼 독립 검증된다(222/222 슬롯):
  • m == 컷 이전에 끝난 그 task 의 유닛 수 (subtasks[] 직접 집계) — 불일치 0
  • done_units[].frame == 그 유닛의 종료 프레임 — 불일치 0
  • m == cuts[].done[task_id] — 불일치 0
  • n == 발화 속 수사(“Pick up three of the mugs…”) — 불일치 0 (visit 제외)
그래서 읽기 격자(메모리 + 이미지 1장 → r 숫자)는 161행을 전부 쓰면 된다. 실행 트랙(Tier B/C)에서만 27행을 걸러 134행 / 330정답 (resume1 85 · multi 49)으로 가거나, 데이터팀이 오라클을 다시 굴려 주기를 기다린다. 같은 이유로 supply 불일치 14슬롯도 on > r 은 만족하므로 읽기 트랙에 무해하다.

오라클이 정확히 무엇이고 "미완주"가 무슨 뜻인가

오라클 = 대본 로봇(VLM 이 아니라 규칙 기반 스크립트)이 그 컷 상태에서 남은 유닛을 실제로 끝까지 실행해 본 기록이다. 두 가지 일을 한다: ① 이 행이 풀 수 있는 문제라는 증거(정답 유닛들이 실제로 실행 가능함을 시뮬레이터에서 확인) ② 예산의 근거(budget_steps = max(400, 1.5 × oracle.steps)). 정책이 받는 스텝 예산이 여기서 나온다.

남은 유닛은 두 군데에서 온다 — 컷 이후 편 안에서 실제로 실행된 유닛(그 편이 컷 뒤에 이어서 한 것)과, 편이 끝난 뒤 이어 붙여 굴린 꼬리(tail) 롤아웃(편은 미완으로 끝나므로 나머지는 여기서 해야 한다). 그래서 source 가 tail(전부 꼬리) 109행 / episode+tail(편 실행분 + 꼬리) 52행이다. completed 는 pending task 마다 "r 개를 다 채웠나"를 담은 불리언 배열이다.

"미완주" = 이 배열에 false 가 있다 — 대본 로봇이 그 task 의 남은 유닛을 다 끝내지 못하고 멈췄다는 뜻. 곧 정답을 실행할 수 있다는 증거가 없는 행이고, 예산도 그 중간에 끊긴 롤아웃으로 계산돼 있다. 아래 표가 그 해부다 — 실패 27행은 전부 꼬리가 최소 1유닛을 해야 하는 행이었고(편 실행분만으로 r 이 채워진 경우 0건), 꼬리 실패율은 tail 19/109 = 17% · episode+tail 8/52 = 15% 로 거의 같다 → 깨지는 곳은 꼬리 롤아웃이다.

query_idsource필요 r편이 컷 뒤 실행꼬리가 해야 함오라클이 기록한 유닛steps
resume:train_2739__2000:cut_04tail10100 ← 하한 400 적용
resume:train_2739__2000:cut_05episode+tail40411235
resume:train_2773__2000:cut_05tail20211980
resume:train_2773__2000:cut_07tail50511980
resume:train_3118__2000:cut_06episode+tail4223591
resume:train_3252__2000:cut_00episode+tail4132394
resume:train_3252__2000:cut_10tail30300 ← 하한 400 적용
resume:train_3274__2000:cut_10tail10100 ← 하한 400 적용
resume:train_3667__2000:cut_07tail40400 ← 하한 400 적용
resume:train_3911__2000:cut_02episode+tail20225401
resume:train_3911__2000:cut_06tail40412847
resume:train_4355__2000:cut_04tail20200 ← 하한 400 적용
resume:train_4355__2000:cut_07tail40400 ← 하한 400 적용
resume:train_4918__2000:cut_00episode+tail21124239
resume:train_4918__2000:cut_08tail30312253
resume:train_4998__2000:cut_07tail30324864
resume:train_5134__2000:cut_06episode+tail20222359
resume:train_5522__2000:cut_06episode+tail51435053
resume:train_7000__2000:cut_07tail50545461
resume:train_7151__2000:cut_08tail20200 ← 하한 400 적용
resume:train_746__2000:cut_10tail50535929
resume:train_8423__2000:cut_10tail20222581
resume:train_8654__2000:cut_08tail10100 ← 하한 400 적용
resume:train_9965__2000:cut_02episode+tail30333829
resume:train_9965__2000:cut_08tail50523104
resume:train_9987__2000:cut_05tail10100 ← 하한 400 적용
resume:train_9987__2000:cut_07tail30300 ← 하한 400 적용
예산이 실제로 얼마나 부족한가: steps=0 인 10행은 예산이 하한 400 으로 떨어졌다. 오라클이 성공한 행에서 r=1(유닛 하나만 남은 가장 쉬운 행)의 최소 비용이 510 스텝이고 중앙값은 1646 스텝이다 — 즉 400 스텝은 관측된 가장 싼 1유닛보다도 적다. 그런데 이 10행은 1–4 유닛을 해야 한다.
query_idrpending 종류받은 budget같은 r 정상 budget (성공 행 median×1.5)비율
resume:train_2739__2000:cut_041put_in_container400246916.2%
resume:train_3252__2000:cut_103press_button + put_in_container40060156.7%
resume:train_3274__2000:cut_101put_in_container400246916.2%
resume:train_3667__2000:cut_074press_button40085354.7%
resume:train_4355__2000:cut_042put_in_container40047808.4%
resume:train_4355__2000:cut_074put_in_container + visit_rooms40085354.7%
resume:train_7151__2000:cut_082press_button40047808.4%
resume:train_8654__2000:cut_081press_button400246916.2%
resume:train_9987__2000:cut_051put_in_container400246916.2%
resume:train_9987__2000:cut_073put_in_container + visit_rooms40060156.7%

왜 이렇게 됐을까

실패 슬롯은 put_in_container 16 · press_button 8 · visit_rooms 7 · move_objects 4 로 특정 task 종류에 쏠려 있지 않고, source 도 tail 19 / episode+tail 8 로 갈린다. 필요 유닛 수만큼 굴리고도 실패로 표시된 행이 6개 있는 것으로 보아 (예: train_3911:cut_02 는 2유닛 필요·2유닛 굴림·FAIL) 꼬리 롤아웃 중 조작 실패가 원인으로 보이고, steps=0 10행은 롤아웃이 시작조차 못 한 경우다. 어느 쪽이든 생성기가 결과를 기록만 하고 자격 게이트를 걸지 않은 것이 직접 원인이다 — stats.json 의 "oracle": {"run": 161, "ok": null} 이 그 흔적이고, dropped.total = 0 · drop_rate = 0.0 도 같은 이야기를 한다.

3-2. 기억 필요성 — 어디까지 막혀 있나

pending 종류슬롯장면만 보고 m 을 알 수 있나판정
press_button49누른 횟수는 흔적이 전혀 없다완전 차단
visit_rooms62방문 흔적이 전혀 없다 (방문 = 방 안에 들어갔다 나온 것)완전 차단
put_in_container / move_objects111 도착지: 세면 m + k_dst (k_dst 1–3) → 막힘.
출발면: on = n + k_src − m 인데 k_src 가 2·3 두 값뿐 → r = on − k_src 로 두 값까지 좁혀진다 (94/111 슬롯에서 정확히 성립)
절반만 차단
└ 그중 k_dst=015도착지를 세면 m 이 그대로 나온다control (의도됨)
🟠 k_src 두 값 문제: 행은 commands[] 에서 n 을 그대로 읽을 수 있으므로(“Pick up three of the mugs…”), 출발면 물체 수 on 만 세면 r = on − k_src ∈ {on−2, on−3} 이다 — 물체 슬롯 111개 중 94개에서 이 식이 정확. 즉 기억 없이 두 값 중 하나를 찍으면 되고, 어느 쪽을 찍어도 오차는 ±1. 111/222 슬롯(물체 task)이 여기 해당한다. 도착지 쪽을 k_dst 0–3 으로 흩은 것과 같은 처리를 출발면 여분에도 해야 (k_src 를 1–4 로 흩거나 편마다 랜덤) 이 뒷문이 닫힌다. 지금 상태로도 press/visit 111 슬롯은 순수 기억이라 벤치가 무너지지는 않지만, 물체 task 수치는 “기억 + 카운팅 반반”으로 읽어야 한다.

4VLM 이 실제로 보는 것 — 입력·기억·측정

글로만 보면 "영상 보고 몇 개 했는지 세라"지만, 실제로 모델에 들어가는 픽셀을 재현해 보면 과제 성격이 상당히 달라진다. 아래는 우리 읽기 하네스(sbench_eval/run_eval_resume.py, 옛 12편 설계용)가 주는 입력을 그대로 재구성한 것이다.

4-1. 한 질의에 들어가는 것 (읽기 트랙)

system "너는 가정 로봇의 기억 모듈이다. 앞 턴들이 이 편에 대한 기억이고, 로봇은 도중에 멈춰 세워졌다. 마지막 이미지가 멈춘 순간의 시야다. 어느 명령이 끊겼고 얼마나 남았는지 세어서 답하라." 출력 = {"reasoning", "task"(끊긴 명령 원문), "remaining"(정수), "abstain"} 메모리 턴 전략별 — blind(없음) | textlog(완료 유닛 한 줄씩) | frames-uniform(구간 [0,f_cut] 균등 N장) | rollforward(청크별로 굴린 노트의 컷 시점 접두사) | vis-pure(보관 프레임) | tagmem(항목) 질의 턴 ① 현재 이미지 1장 = exo_camera_1 의 f_cut 프레임 (QUERY_CAM, 온라인 하네스와 같은 소스) ② 컷까지 들은 발화 목록(commands[]) — 과제 명세라서 blind 포함 전 전략 공통 ③ 질의문 "You were interrupted earlier. Go back and finish (all of) what you were doing."
설계의 핵심: 발화 목록은 모두에게 준다. 그래서 "무엇을 하라고 했는지"(n)는 공짜이고, 전략이 채워야 하는 칸은 "얼마나 했는지"(m) 하나뿐이다. blind 는 m 을 모른 채 찍는 대조군이 된다.

4-2. 현재 이미지 — 여기서 답이 새는가

resume:train_1543__2000:cut_06 (감자 5개를 서랍장 → 식탁, m=1 r=4, k_dst=0 control, 로봇이 그 방에 있음). 질의 턴에 들어가는 것은 맨 왼쪽 1장이다. 식탁 위에 감자가 정확히 1개 놓여 있는 게 그대로 보인다 — 발화에서 n=5 를 읽고 이 1개를 세면 기억 없이 r=4 가 나온다. k_dst=0 행이 왜 control 인지 픽셀로 확인된 셈.
resume:train_3610__2000:cut_04 (달걀 5개를 식탁 → 바구니, m=2 r=3, k_dst=0, 방 안). 같은 control 이지만 도착지가 용기라 exo1 에서 안이 안 보인다(wrist 도 테두리만). 즉 k_dst=0 누출은 도착지가 평면일 때만 실제로 통한다 — control 15슬롯 중 평면 도착 4 · 용기 11.
resume:train_307__2000:cut_09 (multi · locality=away). 심부름이 끝난 자리라 미완 task 와 무관한 방이 보인다. 이런 행(68/161)에서는 현재 이미지가 답에 아무 정보도 주지 않는다.
컷 시점 로봇 위치move_objectsput_in_containerpress_buttonvisit_rooms
그 task 의 방 안29252515
다른 방15422447

4-3. 메모리 프레임 — 8장으로 셀 수 있는가

같은 행의 frames-uniform cap=8 메모리(exo1, 노란 글씨는 그 프레임이 속한 유닛/세그먼트). [2/8] 에 서랍장 위 감자 7개, [6/8] 에 줄어든 서랍장, [8/8] 에 식탁 위 1개 — 물체 task 는 유닛이 길어(중앙값 83초) 8장으로도 "출발면이 줄었다"는 증거가 잡힌다. 대신 [3/8][5/8] 처럼 절반은 복도·화장실 이동 장면이라 정보가 없다.
같은 8장 예산인데 press_button 은 전멸한다. 이 행의 미완 T1 은 "커피머신 버튼 3회"(m=1)인데, T1 구간에 걸린 프레임 [1/8][2/8] 은 복도 바닥과 벽이다 — 가전도, 누르는 동작도 안 보인다. 나머지 6장은 전부 이미 끝난 심부름과 T2 다.
pending 종류task 전체 실행 span완료 유닛 수(m) 이상의 표본이 실행 구간에 들어간 슬롯집기/누르기(manip) 순간 적중
mediancap 8cap 16cap 32cap 8cap 16cap 32
물체 옮기기(표면→표면)275s100% (44/44)100% (44/44)100% (44/44)41%71%100%
용기에 담기276s100% (67/67)100% (67/67)100% (67/67)41%72%99%
버튼 누르기62s53% (26/49)86% (42/49)100% (49/49)23%48%69%
방 전부 방문111s50% (31/62)94% (58/62)100% (62/62)———
측정 가능성의 하한: cap 8 은 표본 간격이 median 51초인데 press_button task 는 유닛 전체가 62초 안에 다 일어난다(연속 유닛 사이 간격 median 0초 — 쉬지 않고 이어서 한다). 그래서 8장으로는 press 슬롯의 53%, visit 슬롯의 50% 만 "셀 수 있는 최소 조건"(유닛 수만큼의 표본)을 만족한다. cap 16 에서 86%/94%, cap 32 에서 100%. resume 은 find/restore 의 cap 8 을 그대로 쓰면 안 된다.

4-4. 버튼 누르기는 화면에 흔적이 남지 않는다

표본 편의 버튼 누름 순간(manip 세그먼트 한가운데)만 모은 것. 윗줄 train_746 의 press #1·#2·#3 은 프레임이 사실상 동일하다 — 같은 전자레인지, 같은 팔 자세, 표시등도 상태 변화도 없다. train_3118 의 건조기 #1·#2·#3 도 마찬가지고 8초 간격으로 붙어 있다. 즉 press_button 은 "장면을 봐도 몇 번째인지 알 수 없는" 순수 일화 기억 카운팅이다.
이게 벤치로서는 좋은 성질이다. find/restore 는 "마지막에 어디 있었나"라 이미지 메모리가 강했지만, resume 의 press/visit 111슬롯(222 중 절반)은 이미지로는 원리적으로 복원 불가하고 행동을 기록한 텍스트 메모리만 풀 수 있다. 읽기 격자에서 textlog·rollforward > frames·vis 로 순위가 뒤집힐 것으로 예상된다 — find 와 반대 방향이라 논문에서 대비 축으로 쓸 만하다.

4-5. 그래서 무엇을 재는가 (A2 상한 포함)

textlog 전략이 이 행에서 실제로 받는 메모리 (resume:train_3610__2000:cut_04, 규칙 = 완료 유닛마다 한 줄): [ 0s] The user said: "Press the button on the coffee machine three times." [ 21s] The user said: "Hold on — close the open drawer of the dresser in the bedroom first." [ 79s] The user said: "Pick up five of the eggs from the dining table and place them into the basket." [ 0s– 21s] I did this: Press the button on the coffee machine. [ 39s– 79s] I did this: Close the open drawer of the dresser in the bedroom. [ 79s– 181s] I did this: Pick up the egg from the dining table and place it into the basket. [ 181s– 250s] I did this: Pick up the egg from the dining table and place it into the basket. 정답 = T1 r=3-1=2 · T2 r=5-2=3 ← 줄만 세면 나온다
A2 게이트: textlog 는 완료 유닛을 한 줄씩 그대로 적으므로 오라클 상한이 사실상 1.0 이다 (find 에서 textlog 가 .86–.89 였던 것과 다른 성격 — 여기서는 세는 것 자체가 과제라 로그가 곧 답이다). 그러니 resume 의 A2 기준선은 textlog 가 아니라 "영상만 받은 전략이 blind 대비 얼마나 올라가는가"로 잡아야 한다. 다행히 L2 세그먼트 instruction 의 고정 문자열 결함(§3)은 textlog 가 쓰는 L1 task_description 을 건드리지 않아 오염은 없다.
지표정의왜 필요한가
task_ok끊긴 명령을 맞게 지목(원문 일치). multi 는 pending 둘 다"무엇이 미완인가" — 끝난 심부름·decoy 를 걸러내는가
remaining_ok남은 유닛 수 r 일치본 지표. m 을 세었는가
resume_ok둘 다 — 이것만 맞으면 실제로 이어서 실행 가능헤드라인
기권율abstain (A5: 유효 질의에서 기권 = 오답)모르는 걸 아는가
분리 보고k_dst=0 control 15슬롯(그중 평면 도착 4) · pending 종류별(press/visit vs 물체)기억 없이 풀리는 행이 헤드라인을 밀어올리지 않게. 오라클 미완주 27행은 읽기 트랙에선 분리 불필요
🔴 하네스는 지금 v2 를 못 받는다: run_eval_resume.py 는 옛 스키마 (query["task"] 단수 · decoy_tasks)를 읽고, 답 형식도 {"task", "remaining"} 하나다. v2 는 pending[] 가 최대 2개(multi 61행)이고 finished[] 라는 새 채점 축이 있다 → 답 스키마를 목록으로 바꾸고([{"task","remaining"}, …]) no_finished_redo 를 추가해야 한다. 캐시 키도 (context, context_frames[1]) 로 바꿔야 한다(편당 1.61행).

5표본 12편 — 영상 · 컷 마커 · 질의 카드

100편 중 축(변형 A/B/C · resume1/multi · cut_site · locality · pending 4종 · 심부름 5종 · k_dst=0 control · r_total 1–5)을 전부 덮는 최소 집합으로 12편을 골랐다(그리디 커버, 46개 축값 46/46 커버). 그중 4편에는 위 🔴 오라클 미완주 행이 들어 있다.
영상은 exo_camera_1 | exo_camera_2 | wrist_camera 3캠을 나란히 붙여 8배속으로 구운 10 fps 압축본(원본 25 fps 640×480, 편당 5–14분 → 40–105초). 재생 속도 버튼으로 4×–32× 조절, 표시 시각은 원본 기준. 띠·세로선·표의 시각·썸네일을 클릭하면 그 시점으로 이동한다.

5-1. train_123__2000 변형 B — 5.0분 (7570 프레임) · task 2 · 심부름 3 · 유닛 7 · cut 10 · 질의 2행

episode_instruction: “Navigate to every room in the house and Pick up three of the mugs from the dining table and place them in or on the countertop”
exo1 · exo2 · wrist · 구운 속도 8× · 재생: 원본 0:00 / 5:02
T1
T2
E1
E2
E3
05
06
파란/초록 띠 = task 구간 · 회색 띠 = errand(심부름) · 세로선 = cut 스냅샷 · 빨간 굵은 선 = 질의의 start_state · 클릭하면 영상 이동

사용자 발화 타임라인 — task 2개 + 심부름 3개

id구간사용자 발화 · 내용완료
T10:00–1:00“Navigate to every room in the house.”
방 전부 방문 · 방 living room → kitchen → 방#4 → 방#5
2/4
T21:34–4:10“Pick up three of the mugs from the dining table and place them in or on the countertop.”
물체 옮기기(표면→표면) · Mug × 3 · diningtable → countertop · k_src=2 k_dst=2
2/3
E10:19–0:27“go check whether the phone is still on the sofa in the living room”
심부름 확인(가서 보기) · T1 중단 · 방 living room · 12s
ok
E21:05–1:34“go check whether the pillow is still on the sofa in the living room”
심부름 확인(가서 보기) · T1 중단 · 방 living room · 46s
ok
E34:20–5:02“open the fridge door in the kitchen”
심부름 열기 · T2 중단 · 방 kitchen · 71s
ok

resume 질의 2행 (+ cue ablation 4행)

resume:train_123__2000:cut_05 resume1 변형 B cut_05 · 1:34 errand_end away 정답 유닛 2개 budget 1771
“You were interrupted earlier. Go back and finish what you were doing.” (cue=bare · main · 관찰 1:34 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Navigate to every room in the house.” ← 이 task 가 미완
  • 0:13 중단 + 심부름 “Hold on — go check whether the phone is still on the sofa in the living room first.”
  • 0:27 재개 “Okay, continue what you were doing.”
  • 1:00 중단 + 심부름 “Hold on — go check whether the pillow is still on the sofa in the living room first.”
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 확인(가서 보기) go check whether the phone is still on the sofa in the living room
  • E2 확인(가서 보기) go check whether the pillow is still on the sofa in the living room
정답 — 미완 task 1개, 남은 유닛 합 2
T1 방 전부 방문 n=4 · m=2 · r=2 다른 방 gap 34s
“Navigate to every room in the house.” (f1, 0:00)
끝낸 유닛 m=2
  • 유닛 0 @ 0:13
  • 유닛 1 @ 1:00
간 방 living room, kitchen → 남은 방 방#4, 방#5 (2개)
기억이 필요한 이유: 방문한 방은 장면에 흔적이 전혀 없음 → 방문 집합 기억
오라클 1181 스텝 · 순서 T1:4, T1:5 · source=tail → budget = max(400, 1.5×1181) = 1771
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish what you were doing — visiting every room.”
  • task_named_n “You were interrupted earlier. Go back and finish what you were doing — visiting every room.”
cut (start_state)
exo1 · t=1:34 (f2363)
cut (start_state)
exo2 · t=1:34 (f2363)
cut (start_state)
wrist · t=1:34 (f2363)
T1 마지막 완료 유닛 (m=2)
exo1 · t=1:00 (f1501)
resume:train_123__2000:cut_06 multi 변형 B cut_06 · 2:58 unit at_task 정답 유닛 4개 budget 7818
“You were interrupted earlier. Go back and finish all of what you were doing.” (cue=bare · main · 관찰 2:58 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Navigate to every room in the house.” ← 이 task 가 미완
  • 0:13 중단 + 심부름 “Hold on — go check whether the phone is still on the sofa in the living room first.”
  • 0:27 재개 “Okay, continue what you were doing.”
  • 1:00 중단 + 심부름 “Hold on — go check whether the pillow is still on the sofa in the living room first.”
  • 1:34 새 명령 “Pick up three of the mugs from the dining table and place them in or on the countertop.” ← 이 task 가 미완
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 확인(가서 보기) go check whether the phone is still on the sofa in the living room
  • E2 확인(가서 보기) go check whether the pillow is still on the sofa in the living room
정답 — 미완 task 2개, 남은 유닛 합 4
T1 방 전부 방문 n=4 · m=2 · r=2 현장에 있음 gap 118s
“Navigate to every room in the house.” (f1, 0:00)
끝낸 유닛 m=2
  • 유닛 0 @ 0:13
  • 유닛 1 @ 1:00
간 방 living room, kitchen → 남은 방 방#4, 방#5 (2개)
기억이 필요한 이유: 방문한 방은 장면에 흔적이 전혀 없음 → 방문 집합 기억
T2 물체 옮기기(표면→표면) n=3 · m=1 · r=2 현장에 있음 gap 0s
“Pick up three of the mugs from the dining table and place them in or on the countertop.” (f2363, 1:34)
끝낸 유닛 m=1
  • 유닛 0 @ 2:58 t2a0_Mug_2
출발 diningtable 잔여 4개(여분 k_src=2) · 도착 countertop 에 로봇이 놓은 1개 + 원래 있던 k_dst=2개 = 세면 3개
기억이 필요한 이유: 출발면에 여분 k_src(2 또는 3)·도착면에 같은 종류 k_dst개가 이미 있어 어느 쪽을 세도 m이 안 나옴
오라클 5212 스텝 · 순서 T1:4, T1:5, T2:t2a1_Mug_2, T2:t2a2_Mug_2 · source=episode+tail → budget = max(400, 1.5×5212) = 7818
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish all of what you were doing — visiting every room and moving the mugs to the countertop.”
  • task_named_n “You were interrupted earlier. Go back and finish all of what you were doing — visiting every room and moving the mugs to the countertop — three in total.”
cut (start_state)
exo1 · t=2:58 (f4453)
cut (start_state)
exo2 · t=2:58 (f4453)
cut (start_state)
wrist · t=2:58 (f4453)
T1 마지막 완료 유닛 (m=2)
exo1 · t=1:00 (f1501)
T2 마지막 완료 유닛 (m=1)
exo1 · t=2:58 (f4452)

5-2. train_307__2000 변형 A — 6.6분 (9867 프레임) · task 2 · 심부름 2 · 유닛 8 · cut 10 · 질의 2행

episode_instruction: “Navigate to every room in the house and Pick up four of the mugs from the dining table and place them in or on the dresser”
exo1 · exo2 · wrist · 구운 속도 8× · 재생: 원본 0:00 / 6:34
T1
T2
E1
E2
04
09
파란/초록 띠 = task 구간 · 회색 띠 = errand(심부름) · 세로선 = cut 스냅샷 · 빨간 굵은 선 = 질의의 start_state · 클릭하면 영상 이동

사용자 발화 타임라인 — task 2개 + 심부름 2개

id구간사용자 발화 · 내용완료
T10:00–1:44“Navigate to every room in the house.”
방 전부 방문 · 방 kitchen → bedroom → living room → 방#5
3/4
T22:11–6:02“Pick up four of the mugs from the dining table and place them in or on the dresser.”
물체 옮기기(표면→표면) · Mug × 4 · diningtable → chestofdrawers · k_src=3 k_dst=3
3/4
E11:50–2:10“go check whether the remote is still on the tv stand in the living room”
심부름 확인(가서 보기) · T1 중단 · 방 living room · 56s
ok
E26:14–6:34“go check whether the bottle is still on the dining table in the kitchen”
심부름 확인(가서 보기) · T2 중단 · 방 kitchen · 52s
ok

resume 질의 2행 (+ cue ablation 4행)

resume:train_307__2000:cut_04 resume1 변형 A cut_04 · 2:11 errand_end at_task 정답 유닛 1개 budget 2469
“You were interrupted earlier. Go back and finish what you were doing.” (cue=bare · main · 관찰 2:11 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Navigate to every room in the house.” ← 이 task 가 미완
  • 1:44 중단 + 심부름 “Hold on — go check whether the remote is still on the tv stand in the living room first.”
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 확인(가서 보기) go check whether the remote is still on the tv stand in the living room
정답 — 미완 task 1개, 남은 유닛 합 1
T1 방 전부 방문 n=4 · m=3 · r=1 현장에 있음 gap 26s
“Navigate to every room in the house.” (f1, 0:00)
끝낸 유닛 m=3
  • 유닛 0 @ 0:13
  • 유닛 1 @ 0:50
  • 유닛 2 @ 1:44
간 방 kitchen, bedroom, living room → 남은 방 방#5 (1개)
기억이 필요한 이유: 방문한 방은 장면에 흔적이 전혀 없음 → 방문 집합 기억
오라클 1646 스텝 · 순서 T1:5 · source=tail → budget = max(400, 1.5×1646) = 2469
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish what you were doing — visiting every room.”
  • task_named_n “You were interrupted earlier. Go back and finish what you were doing — visiting every room.”
cut (start_state)
exo1 · t=2:11 (f3275)
cut (start_state)
exo2 · t=2:11 (f3275)
cut (start_state)
wrist · t=2:11 (f3275)
T1 마지막 완료 유닛 (m=3)
exo1 · t=1:44 (f2613)
resume:train_307__2000:cut_09 multi 변형 A cut_09 · 6:34 errand_end away 정답 유닛 2개 budget 8142
“You were interrupted earlier. Go back and finish all of what you were doing.” (cue=bare · main · 관찰 6:34 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Navigate to every room in the house.” ← 이 task 가 미완
  • 1:44 중단 + 심부름 “Hold on — go check whether the remote is still on the tv stand in the living room first.”
  • 2:11 새 명령 “Pick up four of the mugs from the dining table and place them in or on the dresser.” ← 이 task 가 미완
  • 6:02 중단 + 심부름 “Hold on — go check whether the bottle is still on the dining table in the kitchen first.”
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 확인(가서 보기) go check whether the remote is still on the tv stand in the living room
  • E2 확인(가서 보기) go check whether the bottle is still on the dining table in the kitchen
정답 — 미완 task 2개, 남은 유닛 합 2
T1 방 전부 방문 n=4 · m=3 · r=1 다른 방 gap 290s
“Navigate to every room in the house.” (f1, 0:00)
끝낸 유닛 m=3
  • 유닛 0 @ 0:13
  • 유닛 1 @ 0:50
  • 유닛 2 @ 1:44
간 방 kitchen, bedroom, living room → 남은 방 방#5 (1개)
기억이 필요한 이유: 방문한 방은 장면에 흔적이 전혀 없음 → 방문 집합 기억
T2 물체 옮기기(표면→표면) n=4 · m=3 · r=1 다른 방 gap 32s
“Pick up four of the mugs from the dining table and place them in or on the dresser.” (f3275, 2:11)
끝낸 유닛 m=3
  • 유닛 0 @ 3:25 t2a0_Mug_2
  • 유닛 1 @ 4:54 t2a1_Mug_2
  • 유닛 2 @ 6:02 t2a2_Mug_2
출발 diningtable 잔여 4개(여분 k_src=3) · 도착 chestofdrawers 에 로봇이 놓은 3개 + 원래 있던 k_dst=3개 = 세면 6개
기억이 필요한 이유: 출발면에 여분 k_src(2 또는 3)·도착면에 같은 종류 k_dst개가 이미 있어 어느 쪽을 세도 m이 안 나옴
오라클 5428 스텝 · 순서 T1:5, T2:t2a3_Mug_2 · source=tail → budget = max(400, 1.5×5428) = 8142
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish all of what you were doing — visiting every room and moving the mugs to the dresser.”
  • task_named_n “You were interrupted earlier. Go back and finish all of what you were doing — visiting every room and moving the mugs to the dresser — four in total.”
cut (start_state)
exo1 · t=6:34 (f9854)
cut (start_state)
exo2 · t=6:34 (f9854)
cut (start_state)
wrist · t=6:34 (f9854)
T1 마지막 완료 유닛 (m=3)
exo1 · t=1:44 (f2613)
T2 마지막 완료 유닛 (m=3)
exo1 · t=6:02 (f9057)

5-3. train_746__2000 변형 B 🔴 오라클 미완주 1행 — 6.7분 (10093 프레임) · task 2 · 심부름 3 · 유닛 8 · cut 11 · 질의 2행

episode_instruction: “Press the button on the microwave five times and Pick up five of the mugs from the tv stand and place them into the basket”
exo1 · exo2 · wrist · 구운 속도 8× · 재생: 원본 0:00 / 6:43
T1
T2
E1
E2
E3
01
10
파란/초록 띠 = task 구간 · 회색 띠 = errand(심부름) · 세로선 = cut 스냅샷 · 빨간 굵은 선 = 질의의 start_state · 클릭하면 영상 이동

사용자 발화 타임라인 — task 2개 + 심부름 3개

id구간사용자 발화 · 내용완료
T10:00–2:17“Press the button on the microwave five times.”
버튼 누르기 · microwaveoven (방 방#6) × 5회
4/5
T23:53–5:34“Pick up five of the mugs from the tv stand and place them into the basket.”
용기에 담기 · Mug × 5 · stand → t2cont · k_src=2 k_dst=1
1/5
E10:53–1:27“go check whether the bowl is still on the dining table in the bedroom”
심부름 확인(가서 보기) · T1 중단 · 방 bedroom · 67s
ok
E22:37–3:53“move the ladle to the other end of the countertop”
심부름 하나 가져오기 · T1 중단 · 방 방#6 · 158s
ok
E35:46–6:43“open a drawer of the dresser in the bedroom”
심부름 열기 · T2 중단 · 방 bedroom · 840s
ok

resume 질의 2행 (+ cue ablation 4행)

resume:train_746__2000:cut_01 resume1 변형 B cut_01 · 0:33 unit at_task 정답 유닛 3개 budget 3831
“You were interrupted earlier. Go back and finish what you were doing.” (cue=bare · main · 관찰 0:33 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Press the button on the microwave five times.” ← 이 task 가 미완
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • 없음
정답 — 미완 task 1개, 남은 유닛 합 3
T1 버튼 누르기 n=5 · m=2 · r=3 현장에 있음 gap 0s
“Press the button on the microwave five times.” (f1, 0:00)
끝낸 유닛 m=2
  • 유닛 0 @ 0:25 microwaveoven_fed06ca4820f7ef44af2e3513aa427c3_1_0_6
  • 유닛 1 @ 0:32 microwaveoven_fed06ca4820f7ef44af2e3513aa427c3_1_0_6
microwaveoven (방 방#6) · 2회 눌렀고 3회 남음 — 장면에 흔적 없음
기억이 필요한 이유: 누른 횟수는 장면에 흔적이 전혀 없음 → 순수 카운팅 기억
오라클 2554 스텝 · 순서 T1:microwaveoven_fed06ca4820f7ef44af2e3513aa427c3_1_0_6, T1:microwaveoven_fed06ca4820f7ef44af2e3513aa427c3_1_0_6, T1:microwaveoven_fed06ca4820f7ef44af2e3513aa427c3_1_0_6 · source=episode+tail → budget = max(400, 1.5×2554) = 3831
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish what you were doing — pressing the button on the microwave.”
  • task_named_n “You were interrupted earlier. Go back and finish what you were doing — pressing the button on the microwave — five in total.”
cut (start_state)
exo1 · t=0:33 (f825)
cut (start_state)
exo2 · t=0:33 (f825)
cut (start_state)
wrist · t=0:33 (f825)
T1 마지막 완료 유닛 (m=2)
exo1 · t=0:32 (f824)
resume:train_746__2000:cut_10 multi 변형 B cut_10 · 6:43 errand_end away 정답 유닛 5개 budget 8893 🔴 오라클 미완주
“You were interrupted earlier. Go back and finish all of what you were doing.” (cue=bare · main · 관찰 6:43 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Press the button on the microwave five times.” ← 이 task 가 미완
  • 0:33 중단 + 심부름 “Hold on — go check whether the bowl is still on the dining table in the bedroom first.”
  • 1:27 재개 “Okay, continue what you were doing.”
  • 2:17 중단 + 심부름 “Hold on — move the ladle to the other end of the countertop first.”
  • 3:53 새 명령 “Pick up five of the mugs from the tv stand and place them into the basket.” ← 이 task 가 미완
  • 5:34 중단 + 심부름 “Hold on — open a drawer of the dresser in the bedroom first.”
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 확인(가서 보기) go check whether the bowl is still on the dining table in the bedroom
  • E2 하나 가져오기 move the ladle to the other end of the countertop
  • E3 열기 open a drawer of the dresser in the bedroom
정답 — 미완 task 2개, 남은 유닛 합 5
T1 버튼 누르기 n=5 · m=4 · r=1 다른 방 gap 266s
“Press the button on the microwave five times.” (f1, 0:00)
끝낸 유닛 m=4
  • 유닛 0 @ 0:25 microwaveoven_fed06ca4820f7ef44af2e3513aa427c3_1_0_6
  • 유닛 1 @ 0:32 microwaveoven_fed06ca4820f7ef44af2e3513aa427c3_1_0_6
  • 유닛 2 @ 2:09 microwaveoven_fed06ca4820f7ef44af2e3513aa427c3_1_0_6
  • 유닛 3 @ 2:17 microwaveoven_fed06ca4820f7ef44af2e3513aa427c3_1_0_6
microwaveoven (방 방#6) · 4회 눌렀고 1회 남음 — 장면에 흔적 없음
기억이 필요한 이유: 누른 횟수는 장면에 흔적이 전혀 없음 → 순수 카운팅 기억
T2 용기에 담기 n=5 · m=1 · r=4 다른 방 gap 69s
“Pick up five of the mugs from the tv stand and place them into the basket.” (f5831, 3:53)
끝낸 유닛 m=1
  • 유닛 0 @ 5:34 t2a0_Mug_2
출발 stand 잔여 6개(여분 k_src=2) · 도착 t2cont 에 로봇이 놓은 1개 + 원래 있던 k_dst=1개 = 세면 2개
기억이 필요한 이유: 출발면 여분 + 용기 안 기존 물체 k_dst → 용기 속을 봐도 m이 안 나옴(k_dst=0이면 control)
오라클 5929 스텝 · 순서 T1:microwaveoven_fed06ca4820f7ef44af2e3513aa427c3_1_0_6, T2:t2a1_Mug_2, T2:t2a2_Mug_2 · source=tail → budget = max(400, 1.5×5929) = 8893
🔴 이 행은 오라클이 완주하지 못했다 — completed=[True, False], 요구 5유닛인데 실제로 굴린 유닛 3개. eval/resume/README 는 "oracle.completed 가 전부 true 인 행만 배포된다"고 적고 있다.
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish all of what you were doing — pressing the button on the microwave and putting the mugs into the basket.”
  • task_named_n “You were interrupted earlier. Go back and finish all of what you were doing — pressing the button on the microwave — five in total and putting the mugs into the basket — five in total.”
cut (start_state)
exo1 · t=6:43 (f10080)
cut (start_state)
exo2 · t=6:43 (f10080)
cut (start_state)
wrist · t=6:43 (f10080)
T1 마지막 완료 유닛 (m=4)
exo1 · t=2:17 (f3425)
T2 마지막 완료 유닛 (m=1)
exo1 · t=5:34 (f8362)

5-4. train_1543__2000 변형 C — 10.8분 (16266 프레임) · task 2 · 심부름 2 · 유닛 10 · cut 12 · 질의 1행

episode_instruction: “Navigate to every room in the house and Pick up five of the potatos from the dresser and place them in or on the dining table”
exo1 · exo2 · wrist · 구운 속도 8× · 재생: 원본 0:00 / 10:50
T1
T2
E1
E2
06
파란/초록 띠 = task 구간 · 회색 띠 = errand(심부름) · 세로선 = cut 스냅샷 · 빨간 굵은 선 = 질의의 start_state · 클릭하면 영상 이동

사용자 발화 타임라인 — task 2개 + 심부름 2개

id구간사용자 발화 · 내용완료
T10:00–2:52“Navigate to every room in the house.”
방 전부 방문 · 방 bedroom → kitchen → living room → bathroom
4/4
T22:52–9:58“Pick up five of the potatos from the dresser and place them in or on the dining table.”
물체 옮기기(표면→표면) · Potato × 5 · chestofdrawers → diningtable · k_src=2 k_dst=0
4/5
E10:19–0:45“open a drawer of the dresser in the bedroom”
심부름 열기 · T1 중단 · 방 bedroom · 37s
ok
E210:20–10:50“go check whether the tomato is still on the countertop in the kitchen”
심부름 확인(가서 보기) · T2 중단 · 방 kitchen · 42s
ok

resume 질의 1행 (+ cue ablation 2행)

resume:train_1543__2000:cut_06 resume1 변형 C cut_06 · 5:04 unit at_task 정답 유닛 4개 budget 14875
“You were interrupted earlier. Go back and finish what you were doing.” (cue=bare · main · 관찰 5:04 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Navigate to every room in the house.”
  • 0:13 중단 + 심부름 “Hold on — open a drawer of the dresser in the bedroom first.”
  • 0:45 재개 “Okay, continue what you were doing.”
  • 2:52 새 명령 “Pick up five of the potatos from the dresser and place them in or on the dining table.” ← 이 task 가 미완
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • T1 방 전부 방문 방 전부 방문 4개 전부 완료
  • E1 열기 open a drawer of the dresser in the bedroom
정답 — 미완 task 1개, 남은 유닛 합 4
T2 물체 옮기기(표면→표면) n=5 · m=1 · r=4 현장에 있음 gap 0s
“Pick up five of the potatos from the dresser and place them in or on the dining table.” (f4318, 2:52)
끝낸 유닛 m=1
  • 유닛 0 @ 5:04 t2a0_Potato_9
출발 chestofdrawers 잔여 6개(여분 k_src=2) · 도착 diningtable 에 로봇이 놓은 1개 + 원래 있던 k_dst=0개 = 세면 1개 control: k_dst=0 → 도착지를 세면 m 이 나옴
기억이 필요한 이유: 이 슬롯은 control — k_dst=0 이라 도착지를 세면 m 이 그대로 나온다(기억 없이 풀림). 채점에서 분리 표기할 것
오라클 9917 스텝 · 순서 T2:t2a1_Potato_9, T2:t2a2_Potato_9, T2:t2a3_Potato_9, T2:t2a5_Potato_9 · source=episode+tail → budget = max(400, 1.5×9917) = 14875
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish what you were doing — moving the potatos to the dining table.”
  • task_named_n “You were interrupted earlier. Go back and finish what you were doing — moving the potatos to the dining table — five in total.”
cut (start_state)
exo1 · t=5:04 (f7609)
cut (start_state)
exo2 · t=5:04 (f7609)
cut (start_state)
wrist · t=5:04 (f7609)
T2 마지막 완료 유닛 (m=1)
exo1 · t=5:04 (f7608)

5-5. train_2662__2000 변형 C — 5.9분 (8910 프레임) · task 2 · 심부름 2 · 유닛 9 · cut 11 · 질의 1행

episode_instruction: “Press the button on the microwave five times and Pick up three of the eggs from the dining table and place them into the basket”
exo1 · exo2 · wrist · 구운 속도 8× · 재생: 원본 0:00 / 5:56
T1
T2
E1
E2
08
파란/초록 띠 = task 구간 · 회색 띠 = errand(심부름) · 세로선 = cut 스냅샷 · 빨간 굵은 선 = 질의의 start_state · 클릭하면 영상 이동

사용자 발화 타임라인 — task 2개 + 심부름 2개

id구간사용자 발화 · 내용완료
T10:00–2:24“Press the button on the microwave five times.”
버튼 누르기 · microwaveoven (방 kitchen) × 5회
5/5
T22:24–5:01“Pick up three of the eggs from the dining table and place them into the basket.”
용기에 담기 · Egg × 3 · diningtable → t2cont · k_src=3 k_dst=2
2/3
E11:06–1:52“open the fridge door in the kitchen”
심부름 열기 · T1 중단 · 방 kitchen · 161s
ok
E25:13–5:55“close the laptop on the desk in the bedroom”
심부름 노트북 닫기 · T2 중단 · 방 bedroom · 75s
ok

resume 질의 1행 (+ cue ablation 2행)

resume:train_2662__2000:cut_08 resume1 변형 C cut_08 · 5:01 unit at_task 정답 유닛 1개 budget 3528
“You were interrupted earlier. Go back and finish what you were doing.” (cue=bare · main · 관찰 5:01 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Press the button on the microwave five times.”
  • 0:42 중단 + 심부름 “Hold on — open the fridge door in the kitchen first.”
  • 1:52 재개 “Okay, continue what you were doing.”
  • 2:24 새 명령 “Pick up three of the eggs from the dining table and place them into the basket.” ← 이 task 가 미완
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • T1 버튼 누르기 버튼 누르기 5개 전부 완료
  • E1 열기 open the fridge door in the kitchen
정답 — 미완 task 1개, 남은 유닛 합 1
T2 용기에 담기 n=3 · m=2 · r=1 현장에 있음 gap 0s
“Pick up three of the eggs from the dining table and place them into the basket.” (f3624, 2:24)
끝낸 유닛 m=2
  • 유닛 0 @ 3:51 t2a0_Egg_30
  • 유닛 1 @ 5:01 t2a3_Egg_30
출발 diningtable 잔여 3개(여분 k_src=3) · 도착 t2cont 에 로봇이 놓은 2개 + 원래 있던 k_dst=2개 = 세면 4개
기억이 필요한 이유: 출발면 여분 + 용기 안 기존 물체 k_dst → 용기 속을 봐도 m이 안 나옴(k_dst=0이면 control)
오라클 2352 스텝 · 순서 T2:t2a5_Egg_30 · source=tail → budget = max(400, 1.5×2352) = 3528
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish what you were doing — putting the eggs into the basket.”
  • task_named_n “You were interrupted earlier. Go back and finish what you were doing — putting the eggs into the basket — three in total.”
cut (start_state)
exo1 · t=5:01 (f7531)
cut (start_state)
exo2 · t=5:01 (f7531)
cut (start_state)
wrist · t=5:01 (f7531)
T2 마지막 완료 유닛 (m=2)
exo1 · t=5:01 (f7530)

5-6. train_2874__2000 변형 A — 6.4분 (9613 프레임) · task 2 · 심부름 2 · 유닛 6 · cut 8 · 질의 2행

episode_instruction: “Press the button on the coffee machine four times and Pick up four of the potatos from the dining table and place them in or on the dresser”
exo1 · exo2 · wrist · 구운 속도 8× · 재생: 원본 0:00 / 6:24
T1
T2
E1
E2
02
07
파란/초록 띠 = task 구간 · 회색 띠 = errand(심부름) · 세로선 = cut 스냅샷 · 빨간 굵은 선 = 질의의 start_state · 클릭하면 영상 이동

사용자 발화 타임라인 — task 2개 + 심부름 2개

id구간사용자 발화 · 내용완료
T10:00–0:25“Press the button on the coffee machine four times.”
버튼 누르기 · coffeemaker (방 kitchen) × 4회
1/4
T21:02–5:41“Pick up four of the potatos from the dining table and place them in or on the dresser.”
물체 옮기기(표면→표면) · Potato × 4 · diningtable → chestofdrawers · k_src=3 k_dst=3
3/4
E10:50–1:02“go check whether the spray bottle is still on the countertop in the kitchen”
심부름 확인(가서 보기) · T1 중단 · 방 kitchen · 28s
ok
E25:54–6:23“go check whether the plate is still on the dining table in the kitchen”
심부름 확인(가서 보기) · T2 중단 · 방 kitchen · 66s
ok

resume 질의 2행 (+ cue ablation 4행)

resume:train_2874__2000:cut_02 resume1 변형 A cut_02 · 1:02 errand_end at_task 정답 유닛 3개 budget 1623
“You were interrupted earlier. Go back and finish what you were doing.” (cue=bare · main · 관찰 1:02 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Press the button on the coffee machine four times.” ← 이 task 가 미완
  • 0:25 중단 + 심부름 “Hold on — go check whether the spray bottle is still on the countertop in the kitchen first.”
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 확인(가서 보기) go check whether the spray bottle is still on the countertop in the kitchen
정답 — 미완 task 1개, 남은 유닛 합 3
T1 버튼 누르기 n=4 · m=1 · r=3 현장에 있음 gap 36s
“Press the button on the coffee machine four times.” (f1, 0:00)
끝낸 유닛 m=1
  • 유닛 0 @ 0:25 coffeemaker_0839c311b37356f0e77590781e178228_1_0_6
coffeemaker (방 kitchen) · 1회 눌렀고 3회 남음 — 장면에 흔적 없음
기억이 필요한 이유: 누른 횟수는 장면에 흔적이 전혀 없음 → 순수 카운팅 기억
오라클 1082 스텝 · 순서 T1:coffeemaker_0839c311b37356f0e77590781e178228_1_0_6, T1:coffeemaker_0839c311b37356f0e77590781e178228_1_0_6, T1:coffeemaker_0839c311b37356f0e77590781e178228_1_0_6 · source=tail → budget = max(400, 1.5×1082) = 1623
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish what you were doing — pressing the button on the coffee machine.”
  • task_named_n “You were interrupted earlier. Go back and finish what you were doing — pressing the button on the coffee machine — four in total.”
cut (start_state)
exo1 · t=1:02 (f1559)
cut (start_state)
exo2 · t=1:02 (f1559)
cut (start_state)
wrist · t=1:02 (f1559)
T1 마지막 완료 유닛 (m=1)
exo1 · t=0:25 (f646)
resume:train_2874__2000:cut_07 multi 변형 A cut_07 · 6:24 errand_end away 정답 유닛 4개 budget 5134
“You were interrupted earlier. Go back and finish all of what you were doing.” (cue=bare · main · 관찰 6:24 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Press the button on the coffee machine four times.” ← 이 task 가 미완
  • 0:25 중단 + 심부름 “Hold on — go check whether the spray bottle is still on the countertop in the kitchen first.”
  • 1:02 새 명령 “Pick up four of the potatos from the dining table and place them in or on the dresser.” ← 이 task 가 미완
  • 5:41 중단 + 심부름 “Hold on — go check whether the plate is still on the dining table in the kitchen first.”
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 확인(가서 보기) go check whether the spray bottle is still on the countertop in the kitchen
  • E2 확인(가서 보기) go check whether the plate is still on the dining table in the kitchen
정답 — 미완 task 2개, 남은 유닛 합 4
T1 버튼 누르기 n=4 · m=1 · r=3 현장에 있음 gap 358s
“Press the button on the coffee machine four times.” (f1, 0:00)
끝낸 유닛 m=1
  • 유닛 0 @ 0:25 coffeemaker_0839c311b37356f0e77590781e178228_1_0_6
coffeemaker (방 kitchen) · 1회 눌렀고 3회 남음 — 장면에 흔적 없음
기억이 필요한 이유: 누른 횟수는 장면에 흔적이 전혀 없음 → 순수 카운팅 기억
T2 물체 옮기기(표면→표면) n=4 · m=3 · r=1 다른 방 gap 43s
“Pick up four of the potatos from the dining table and place them in or on the dresser.” (f1559, 1:02)
끝낸 유닛 m=3
  • 유닛 0 @ 2:52 t2a0_Potato_15
  • 유닛 1 @ 4:11 t2a1_Potato_15
  • 유닛 2 @ 5:41 t2a2_Potato_15
출발 diningtable 잔여 4개(여분 k_src=3) · 도착 chestofdrawers 에 로봇이 놓은 3개 + 원래 있던 k_dst=3개 = 세면 6개
기억이 필요한 이유: 출발면에 여분 k_src(2 또는 3)·도착면에 같은 종류 k_dst개가 이미 있어 어느 쪽을 세도 m이 안 나옴
오라클 3423 스텝 · 순서 T1:coffeemaker_0839c311b37356f0e77590781e178228_1_0_6, T1:coffeemaker_0839c311b37356f0e77590781e178228_1_0_6, T1:coffeemaker_0839c311b37356f0e77590781e178228_1_0_6, T2:t2a3_Potato_15 · source=tail → budget = max(400, 1.5×3423) = 5134
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish all of what you were doing — pressing the button on the coffee machine and moving the potatos to the dresser.”
  • task_named_n “You were interrupted earlier. Go back and finish all of what you were doing — pressing the button on the coffee machine — four in total and moving the potatos to the dresser — four in total.”
cut (start_state)
exo1 · t=6:24 (f9600)
cut (start_state)
exo2 · t=6:24 (f9600)
cut (start_state)
wrist · t=6:24 (f9600)
T1 마지막 완료 유닛 (m=1)
exo1 · t=0:25 (f646)
T2 마지막 완료 유닛 (m=3)
exo1 · t=5:41 (f8528)

5-7. train_3118__2000 변형 C 🔴 오라클 미완주 1행 — 7.8분 (11742 프레임) · task 2 · 심부름 2 · 유닛 10 · cut 12 · 질의 1행

episode_instruction: “Pick up four of the apples from the dining table and place them in or on the side table and Press the button on the dryer five times”
exo1 · exo2 · wrist · 구운 속도 8× · 재생: 원본 0:00 / 7:49
T1
T2
E1
E2
06
파란/초록 띠 = task 구간 · 회색 띠 = errand(심부름) · 세로선 = cut 스냅샷 · 빨간 굵은 선 = 질의의 start_state · 클릭하면 영상 이동

사용자 발화 타임라인 — task 2개 + 심부름 2개

id구간사용자 발화 · 내용완료
T10:00–6:05“Pick up four of the apples from the dining table and place them in or on the side table.”
물체 옮기기(표면→표면) · Apple × 4 · diningtable → stand · k_src=3 k_dst=0
4/4
T26:05–7:07“Press the button on the dryer five times.”
버튼 누르기 · clothesdryer (방 bathroom) × 5회
4/5
E11:19–1:57“close the laptop on the dining table in the bedroom”
심부름 노트북 닫기 · T1 중단 · 방 bedroom · 57s
ok
E27:27–7:49“close the open drawer of the dresser in the bathroom”
심부름 닫기 · T2 중단 · 방 bathroom · 32s
ok

resume 질의 1행 (+ cue ablation 2행)

resume:train_3118__2000:cut_06 resume1 변형 C cut_06 · 6:43 unit at_task 정답 유닛 4개 budget 886 🔴 오라클 미완주
“You were interrupted earlier. Go back and finish what you were doing.” (cue=bare · main · 관찰 6:43 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Pick up four of the apples from the dining table and place them in or on the side table.”
  • 1:05 중단 + 심부름 “Hold on — close the laptop on the dining table in the bedroom first.”
  • 1:57 재개 “Okay, continue what you were doing.”
  • 6:05 새 명령 “Press the button on the dryer five times.” ← 이 task 가 미완
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • T1 물체 옮기기(표면→표면) 물체 옮기기(표면→표면) 4개 전부 완료
  • E1 노트북 닫기 close the laptop on the dining table in the bedroom
정답 — 미완 task 1개, 남은 유닛 합 4
T2 버튼 누르기 n=5 · m=1 · r=4 현장에 있음 gap 0s
“Press the button on the dryer five times.” (f9138, 6:05)
끝낸 유닛 m=1
  • 유닛 0 @ 6:43 clothesdryer_828bfc27448a0c8500c92a7744d1d540_1_0_5
clothesdryer (방 bathroom) · 1회 눌렀고 4회 남음 — 장면에 흔적 없음
기억이 필요한 이유: 누른 횟수는 장면에 흔적이 전혀 없음 → 순수 카운팅 기억
오라클 591 스텝 · 순서 T2:clothesdryer_828bfc27448a0c8500c92a7744d1d540_1_0_5, T2:clothesdryer_828bfc27448a0c8500c92a7744d1d540_1_0_5, T2:clothesdryer_828bfc27448a0c8500c92a7744d1d540_1_0_5 · source=episode+tail → budget = max(400, 1.5×591) = 886
🔴 이 행은 오라클이 완주하지 못했다 — completed=[False], 요구 4유닛인데 실제로 굴린 유닛 3개. eval/resume/README 는 "oracle.completed 가 전부 true 인 행만 배포된다"고 적고 있다.
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish what you were doing — pressing the button on the dryer.”
  • task_named_n “You were interrupted earlier. Go back and finish what you were doing — pressing the button on the dryer — five in total.”
cut (start_state)
exo1 · t=6:43 (f10095)
cut (start_state)
exo2 · t=6:43 (f10095)
cut (start_state)
wrist · t=6:43 (f10095)
T2 마지막 완료 유닛 (m=1)
exo1 · t=6:43 (f10094)

5-8. train_3378__2000 변형 C — 13.9분 (20776 프레임) · task 2 · 심부름 2 · 유닛 9 · cut 11 · 질의 1행

episode_instruction: “Pick up four of the potatos from the dining table and place them into the basket and Navigate to every room in the house”
exo1 · exo2 · wrist · 구운 속도 8× · 재생: 원본 0:00 / 13:51
T1
T2
E1
E2
10
파란/초록 띠 = task 구간 · 회색 띠 = errand(심부름) · 세로선 = cut 스냅샷 · 빨간 굵은 선 = 질의의 start_state · 클릭하면 영상 이동

사용자 발화 타임라인 — task 2개 + 심부름 2개

id구간사용자 발화 · 내용완료
T10:00–9:01“Pick up four of the potatos from the dining table and place them into the basket.”
용기에 담기 · Potato × 4 · diningtable → t1cont · k_src=2 k_dst=1
4/4
T29:01–10:52“Navigate to every room in the house.”
방 전부 방문 · 방 living room → bedroom → bathroom → kitchen
3/4
E13:09–5:47“close the fridge door in the kitchen”
심부름 닫기 · T1 중단 · 방 kitchen · 266s
ok
E210:58–13:50“move the phone from the tv stand to the dining table in the living room”
심부름 하나 가져오기 · T2 중단 · 방 living room · 298s
ok

resume 질의 1행 (+ cue ablation 2행)

resume:train_3378__2000:cut_10 resume1 변형 C cut_10 · 13:50 errand_end away 정답 유닛 1개 budget 1426
“You were interrupted earlier. Go back and finish what you were doing.” (cue=bare · main · 관찰 13:50 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Pick up four of the potatos from the dining table and place them into the basket.”
  • 2:51 중단 + 심부름 “Hold on — close the fridge door in the kitchen first.”
  • 5:47 재개 “Okay, continue what you were doing.”
  • 9:01 새 명령 “Navigate to every room in the house.” ← 이 task 가 미완
  • 10:52 중단 + 심부름 “Hold on — move the phone from the tv stand to the dining table in the living room first.”
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • T1 용기에 담기 용기에 담기 4개 전부 완료
  • E1 닫기 close the fridge door in the kitchen
  • E2 하나 가져오기 move the phone from the tv stand to the dining table in the living room
정답 — 미완 task 1개, 남은 유닛 합 1
T2 방 전부 방문 n=4 · m=3 · r=1 다른 방 gap 178s
“Navigate to every room in the house.” (f13532, 9:01)
끝낸 유닛 m=3
  • 유닛 0 @ 9:29
  • 유닛 1 @ 10:24
  • 유닛 2 @ 10:52
간 방 living room, bedroom, bathroom → 남은 방 kitchen (1개)
기억이 필요한 이유: 방문한 방은 장면에 흔적이 전혀 없음 → 방문 집합 기억
오라클 951 스텝 · 순서 T2:6 · source=tail → budget = max(400, 1.5×951) = 1426
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish what you were doing — visiting every room.”
  • task_named_n “You were interrupted earlier. Go back and finish what you were doing — visiting every room.”
cut (start_state)
exo1 · t=13:50 (f20763)
cut (start_state)
exo2 · t=13:50 (f20763)
cut (start_state)
wrist · t=13:50 (f20763)
T2 마지막 완료 유닛 (m=3)
exo1 · t=10:52 (f16310)

5-9. train_3610__2000 변형 A — 6.8분 (10180 프레임) · task 2 · 심부름 2 · 유닛 7 · cut 9 · 질의 2행

episode_instruction: “Press the button on the coffee machine three times and Pick up five of the eggs from the dining table and place them into the basket”
exo1 · exo2 · wrist · 구운 속도 8× · 재생: 원본 0:00 / 6:47
T1
T2
E1
E2
02
04
파란/초록 띠 = task 구간 · 회색 띠 = errand(심부름) · 세로선 = cut 스냅샷 · 빨간 굵은 선 = 질의의 start_state · 클릭하면 영상 이동

사용자 발화 타임라인 — task 2개 + 심부름 2개

id구간사용자 발화 · 내용완료
T10:00–0:21“Press the button on the coffee machine three times.”
버튼 누르기 · coffeemaker (방 방#6) × 3회
1/3
T21:18–6:18“Pick up five of the eggs from the dining table and place them into the basket.”
용기에 담기 · Egg × 5 · diningtable → t2cont · k_src=2 k_dst=0
4/5
E10:38–1:18“close the open drawer of the dresser in the bedroom”
심부름 닫기 · T1 중단 · 방 bedroom · 88s
ok
E26:31–6:46“go check whether the house plant is still on the dining table in the living room”
심부름 확인(가서 보기) · T2 중단 · 방 living room · 25s
ok

resume 질의 2행 (+ cue ablation 4행)

resume:train_3610__2000:cut_02 resume1 변형 A cut_02 · 1:18 errand_end away 정답 유닛 2개 budget 1603
“You were interrupted earlier. Go back and finish what you were doing.” (cue=bare · main · 관찰 1:18 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Press the button on the coffee machine three times.” ← 이 task 가 미완
  • 0:21 중단 + 심부름 “Hold on — close the open drawer of the dresser in the bedroom first.”
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 닫기 close the open drawer of the dresser in the bedroom
정답 — 미완 task 1개, 남은 유닛 합 2
T1 버튼 누르기 n=3 · m=1 · r=2 다른 방 gap 58s
“Press the button on the coffee machine three times.” (f1, 0:00)
끝낸 유닛 m=1
  • 유닛 0 @ 0:21 coffeemaker_a68403e501f26cc5f5dd248e13e54265_1_0_6
coffeemaker (방 방#6) · 1회 눌렀고 2회 남음 — 장면에 흔적 없음
기억이 필요한 이유: 누른 횟수는 장면에 흔적이 전혀 없음 → 순수 카운팅 기억
오라클 1069 스텝 · 순서 T1:coffeemaker_a68403e501f26cc5f5dd248e13e54265_1_0_6, T1:coffeemaker_a68403e501f26cc5f5dd248e13e54265_1_0_6 · source=tail → budget = max(400, 1.5×1069) = 1603
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish what you were doing — pressing the button on the coffee machine.”
  • task_named_n “You were interrupted earlier. Go back and finish what you were doing — pressing the button on the coffee machine — three in total.”
cut (start_state)
exo1 · t=1:18 (f1966)
cut (start_state)
exo2 · t=1:18 (f1966)
cut (start_state)
wrist · t=1:18 (f1966)
T1 마지막 완료 유닛 (m=1)
exo1 · t=0:21 (f526)
resume:train_3610__2000:cut_04 multi 변형 A cut_04 · 4:10 unit at_task 정답 유닛 5개 budget 9606
“You were interrupted earlier. Go back and finish all of what you were doing.” (cue=bare · main · 관찰 4:10 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Press the button on the coffee machine three times.” ← 이 task 가 미완
  • 0:21 중단 + 심부름 “Hold on — close the open drawer of the dresser in the bedroom first.”
  • 1:18 새 명령 “Pick up five of the eggs from the dining table and place them into the basket.” ← 이 task 가 미완
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 닫기 close the open drawer of the dresser in the bedroom
정답 — 미완 task 2개, 남은 유닛 합 5
T1 버튼 누르기 n=3 · m=1 · r=2 다른 방 gap 229s
“Press the button on the coffee machine three times.” (f1, 0:00)
끝낸 유닛 m=1
  • 유닛 0 @ 0:21 coffeemaker_a68403e501f26cc5f5dd248e13e54265_1_0_6
coffeemaker (방 방#6) · 1회 눌렀고 2회 남음 — 장면에 흔적 없음
기억이 필요한 이유: 누른 횟수는 장면에 흔적이 전혀 없음 → 순수 카운팅 기억
T2 용기에 담기 n=5 · m=2 · r=3 현장에 있음 gap 0s
“Pick up five of the eggs from the dining table and place them into the basket.” (f1966, 1:18)
끝낸 유닛 m=2
  • 유닛 0 @ 3:01 t2a0_Egg_30
  • 유닛 1 @ 4:09 t2a1_Egg_30
출발 diningtable 잔여 5개(여분 k_src=2) · 도착 t2cont 에 로봇이 놓은 2개 + 원래 있던 k_dst=0개 = 세면 2개 control: k_dst=0 → 도착지를 세면 m 이 나옴
기억이 필요한 이유: 이 슬롯은 control — k_dst=0 이라 도착지를 세면 m 이 그대로 나온다(기억 없이 풀림). 채점에서 분리 표기할 것
오라클 6404 스텝 · 순서 T1:coffeemaker_a68403e501f26cc5f5dd248e13e54265_1_0_6, T1:coffeemaker_a68403e501f26cc5f5dd248e13e54265_1_0_6, T2:t2a2_Egg_30, T2:t2a3_Egg_30, T2:t2a4_Egg_30 · source=episode+tail → budget = max(400, 1.5×6404) = 9606
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish all of what you were doing — pressing the button on the coffee machine and putting the eggs into the basket.”
  • task_named_n “You were interrupted earlier. Go back and finish all of what you were doing — pressing the button on the coffee machine — three in total and putting the eggs into the basket — five in total.”
cut (start_state)
exo1 · t=4:10 (f6250)
cut (start_state)
exo2 · t=4:10 (f6250)
cut (start_state)
wrist · t=4:10 (f6250)
T1 마지막 완료 유닛 (m=1)
exo1 · t=0:21 (f526)
T2 마지막 완료 유닛 (m=2)
exo1 · t=4:09 (f6249)

5-10. train_4998__2000 변형 B 🔴 오라클 미완주 1행 — 9.8분 (14719 프레임) · task 2 · 심부름 3 · 유닛 7 · cut 10 · 질의 2행

episode_instruction: “Pick up four of the eggs from the dining table and place them into the basket and Pick up three of the apples from the dining table and place them in or on the side table”
exo1 · exo2 · wrist · 구운 속도 8× · 재생: 원본 0:00 / 9:48
T1
T2
E1
E2
E3
02
07
파란/초록 띠 = task 구간 · 회색 띠 = errand(심부름) · 세로선 = cut 스냅샷 · 빨간 굵은 선 = 질의의 start_state · 클릭하면 영상 이동

사용자 발화 타임라인 — task 2개 + 심부름 3개

id구간사용자 발화 · 내용완료
T10:00–6:40“Pick up four of the eggs from the dining table and place them into the basket.”
용기에 담기 · Egg × 4 · diningtable → t1cont · k_src=3 k_dst=2
3/4
T27:01–9:19“Pick up three of the apples from the dining table and place them in or on the side table.”
물체 옮기기(표면→표면) · Apple × 3 · diningtable → stand · k_src=2 k_dst=0
1/3
E12:50–3:41“close the open drawer of the dresser in the bathroom”
심부름 닫기 · T1 중단 · 방 bathroom · 102s
ok
E26:49–7:01“go check whether the pillow is still on the sofa in the living room”
심부름 확인(가서 보기) · T1 중단 · 방 living room · 22s
ok
E39:35–9:48“go check whether the pen is still on the dining table in the bedroom”
심부름 확인(가서 보기) · T2 중단 · 방 bedroom · 22s
ok

resume 질의 2행 (+ cue ablation 4행)

resume:train_4998__2000:cut_02 resume1 변형 B cut_02 · 3:41 errand_end away 정답 유닛 3개 budget 10726
“You were interrupted earlier. Go back and finish what you were doing.” (cue=bare · main · 관찰 3:41 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Pick up four of the eggs from the dining table and place them into the basket.” ← 이 task 가 미완
  • 2:42 중단 + 심부름 “Hold on — close the open drawer of the dresser in the bathroom first.”
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 닫기 close the open drawer of the dresser in the bathroom
정답 — 미완 task 1개, 남은 유닛 합 3
T1 용기에 담기 n=4 · m=1 · r=3 다른 방 gap 59s
“Pick up four of the eggs from the dining table and place them into the basket.” (f1, 0:00)
끝낸 유닛 m=1
  • 유닛 0 @ 2:42 t1a1_Egg_30
출발 diningtable 잔여 6개(여분 k_src=3) · 도착 t1cont 에 로봇이 놓은 1개 + 원래 있던 k_dst=2개 = 세면 3개
기억이 필요한 이유: 출발면 여분 + 용기 안 기존 물체 k_dst → 용기 속을 봐도 m이 안 나옴(k_dst=0이면 control)
오라클 7151 스텝 · 순서 T1:t1a4_Egg_30, T1:t1a5_Egg_30, T1:t1a0_Egg_30 · source=episode+tail → budget = max(400, 1.5×7151) = 10726
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish what you were doing — putting the eggs into the basket.”
  • task_named_n “You were interrupted earlier. Go back and finish what you were doing — putting the eggs into the basket — four in total.”
cut (start_state)
exo1 · t=3:41 (f5541)
cut (start_state)
exo2 · t=3:41 (f5541)
cut (start_state)
wrist · t=3:41 (f5541)
T1 마지막 완료 유닛 (m=1)
exo1 · t=2:42 (f4058)
resume:train_4998__2000:cut_07 multi 변형 B cut_07 · 9:19 unit at_task 정답 유닛 3개 budget 7296 🔴 오라클 미완주
“You were interrupted earlier. Go back and finish all of what you were doing.” (cue=bare · main · 관찰 9:19 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Pick up four of the eggs from the dining table and place them into the basket.” ← 이 task 가 미완
  • 2:42 중단 + 심부름 “Hold on — close the open drawer of the dresser in the bathroom first.”
  • 3:41 재개 “Okay, continue what you were doing.”
  • 6:40 중단 + 심부름 “Hold on — go check whether the pillow is still on the sofa in the living room first.”
  • 7:01 새 명령 “Pick up three of the apples from the dining table and place them in or on the side table.” ← 이 task 가 미완
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 닫기 close the open drawer of the dresser in the bathroom
  • E2 확인(가서 보기) go check whether the pillow is still on the sofa in the living room
정답 — 미완 task 2개, 남은 유닛 합 3
T1 용기에 담기 n=4 · m=3 · r=1 다른 방 gap 159s
“Pick up four of the eggs from the dining table and place them into the basket.” (f1, 0:00)
끝낸 유닛 m=3
  • 유닛 0 @ 2:42 t1a1_Egg_30
  • 유닛 1 @ 5:38 t1a4_Egg_30
  • 유닛 2 @ 6:40 t1a5_Egg_30
출발 diningtable 잔여 4개(여분 k_src=3) · 도착 t1cont 에 로봇이 놓은 3개 + 원래 있던 k_dst=2개 = 세면 5개
기억이 필요한 이유: 출발면 여분 + 용기 안 기존 물체 k_dst → 용기 속을 봐도 m이 안 나옴(k_dst=0이면 control)
T2 물체 옮기기(표면→표면) n=3 · m=1 · r=2 현장에 있음 gap 0s
“Pick up three of the apples from the dining table and place them in or on the side table.” (f10549, 7:01)
끝낸 유닛 m=1
  • 유닛 0 @ 9:19 t2a1_Apple_13
출발 diningtable 잔여 4개(여분 k_src=2) · 도착 stand 에 로봇이 놓은 1개 + 원래 있던 k_dst=0개 = 세면 1개 control: k_dst=0 → 도착지를 세면 m 이 나옴
기억이 필요한 이유: 이 슬롯은 control — k_dst=0 이라 도착지를 세면 m 이 그대로 나온다(기억 없이 풀림). 채점에서 분리 표기할 것
오라클 4864 스텝 · 순서 T1:t1a0_Egg_30, T2:t2a2_Apple_13 · source=tail → budget = max(400, 1.5×4864) = 7296
🔴 이 행은 오라클이 완주하지 못했다 — completed=[True, False], 요구 3유닛인데 실제로 굴린 유닛 2개. eval/resume/README 는 "oracle.completed 가 전부 true 인 행만 배포된다"고 적고 있다.
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish all of what you were doing — putting the eggs into the basket and moving the apples to the side table.”
  • task_named_n “You were interrupted earlier. Go back and finish all of what you were doing — putting the eggs into the basket — four in total and moving the apples to the side table — three in total.”
cut (start_state)
exo1 · t=9:19 (f13994)
cut (start_state)
exo2 · t=9:19 (f13994)
cut (start_state)
wrist · t=9:19 (f13994)
T1 마지막 완료 유닛 (m=3)
exo1 · t=6:40 (f10016)
T2 마지막 완료 유닛 (m=1)
exo1 · t=9:19 (f13993)

5-11. train_5522__2000 변형 B 🔴 오라클 미완주 1행 — 7.4분 (11041 프레임) · task 2 · 심부름 3 · 유닛 8 · cut 11 · 질의 2행

episode_instruction: “Press the button on the microwave three times and Pick up five of the mugs from the dining table and place them into the basket”
exo1 · exo2 · wrist · 구운 속도 8× · 재생: 원본 0:00 / 7:21
T1
T2
E1
E2
E3
05
06
파란/초록 띠 = task 구간 · 회색 띠 = errand(심부름) · 세로선 = cut 스냅샷 · 빨간 굵은 선 = 질의의 start_state · 클릭하면 영상 이동

사용자 발화 타임라인 — task 2개 + 심부름 3개

id구간사용자 발화 · 내용완료
T10:00–1:04“Press the button on the microwave three times.”
버튼 누르기 · microwaveoven (방 kitchen) × 3회
2/3
T23:07–6:56“Pick up five of the mugs from the dining table and place them into the basket.”
용기에 담기 · Mug × 5 · diningtable → t2cont · k_src=3 k_dst=0
3/5
E10:32–0:46“go check whether the bowl is still on the countertop in the kitchen”
심부름 확인(가서 보기) · T1 중단 · 방 kitchen · 24s
ok
E21:18–3:07“move the remote to the other end of the dining table”
심부름 하나 가져오기 · T1 중단 · 방 bedroom · 197s
ok
E37:12–7:21“go check whether the vase is still on the dining table in the bedroom”
심부름 확인(가서 보기) · T2 중단 · 방 bedroom · 218s
ok

resume 질의 2행 (+ cue ablation 4행)

resume:train_5522__2000:cut_05 resume1 변형 B cut_05 · 3:07 errand_end away 정답 유닛 1개 budget 1684
“You were interrupted earlier. Go back and finish what you were doing.” (cue=bare · main · 관찰 3:07 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Press the button on the microwave three times.” ← 이 task 가 미완
  • 0:17 중단 + 심부름 “Hold on — go check whether the bowl is still on the countertop in the kitchen first.”
  • 0:46 재개 “Okay, continue what you were doing.”
  • 1:04 중단 + 심부름 “Hold on — move the remote to the other end of the dining table first.”
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 확인(가서 보기) go check whether the bowl is still on the countertop in the kitchen
  • E2 하나 가져오기 move the remote to the other end of the dining table
정답 — 미완 task 1개, 남은 유닛 합 1
T1 버튼 누르기 n=3 · m=2 · r=1 다른 방 gap 123s
“Press the button on the microwave three times.” (f1, 0:00)
끝낸 유닛 m=2
  • 유닛 0 @ 0:17 microwaveoven_3291423b5a9b661f10f30c18c31b18f1_1_0_6
  • 유닛 1 @ 1:04 microwaveoven_3291423b5a9b661f10f30c18c31b18f1_1_0_6
microwaveoven (방 kitchen) · 2회 눌렀고 1회 남음 — 장면에 흔적 없음
기억이 필요한 이유: 누른 횟수는 장면에 흔적이 전혀 없음 → 순수 카운팅 기억
오라클 1123 스텝 · 순서 T1:microwaveoven_3291423b5a9b661f10f30c18c31b18f1_1_0_6 · source=tail → budget = max(400, 1.5×1123) = 1684
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish what you were doing — pressing the button on the microwave.”
  • task_named_n “You were interrupted earlier. Go back and finish what you were doing — pressing the button on the microwave — three in total.”
cut (start_state)
exo1 · t=3:07 (f4691)
cut (start_state)
exo2 · t=3:07 (f4691)
cut (start_state)
wrist · t=3:07 (f4691)
T1 마지막 완료 유닛 (m=2)
exo1 · t=1:04 (f1621)
resume:train_5522__2000:cut_06 multi 변형 B cut_06 · 4:19 unit at_task 정답 유닛 5개 budget 7579 🔴 오라클 미완주
“You were interrupted earlier. Go back and finish all of what you were doing.” (cue=bare · main · 관찰 4:19 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Press the button on the microwave three times.” ← 이 task 가 미완
  • 0:17 중단 + 심부름 “Hold on — go check whether the bowl is still on the countertop in the kitchen first.”
  • 0:46 재개 “Okay, continue what you were doing.”
  • 1:04 중단 + 심부름 “Hold on — move the remote to the other end of the dining table first.”
  • 3:07 새 명령 “Pick up five of the mugs from the dining table and place them into the basket.” ← 이 task 가 미완
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 확인(가서 보기) go check whether the bowl is still on the countertop in the kitchen
  • E2 하나 가져오기 move the remote to the other end of the dining table
정답 — 미완 task 2개, 남은 유닛 합 5
T1 버튼 누르기 n=3 · m=2 · r=1 다른 방 gap 195s
“Press the button on the microwave three times.” (f1, 0:00)
끝낸 유닛 m=2
  • 유닛 0 @ 0:17 microwaveoven_3291423b5a9b661f10f30c18c31b18f1_1_0_6
  • 유닛 1 @ 1:04 microwaveoven_3291423b5a9b661f10f30c18c31b18f1_1_0_6
microwaveoven (방 kitchen) · 2회 눌렀고 1회 남음 — 장면에 흔적 없음
기억이 필요한 이유: 누른 횟수는 장면에 흔적이 전혀 없음 → 순수 카운팅 기억
T2 용기에 담기 n=5 · m=1 · r=4 현장에 있음 gap 0s
“Pick up five of the mugs from the dining table and place them into the basket.” (f4691, 3:07)
끝낸 유닛 m=1
  • 유닛 0 @ 4:19 t2a0_Mug_2
출발 diningtable 잔여 7개(여분 k_src=3) · 도착 t2cont 에 로봇이 놓은 1개 + 원래 있던 k_dst=0개 = 세면 1개 control: k_dst=0 → 도착지를 세면 m 이 나옴
기억이 필요한 이유: 이 슬롯은 control — k_dst=0 이라 도착지를 세면 m 이 그대로 나온다(기억 없이 풀림). 채점에서 분리 표기할 것
오라클 5053 스텝 · 순서 T1:microwaveoven_3291423b5a9b661f10f30c18c31b18f1_1_0_6, T2:t2a1_Mug_2, T2:t2a2_Mug_2 · source=episode+tail → budget = max(400, 1.5×5053) = 7579
🔴 이 행은 오라클이 완주하지 못했다 — completed=[True, False], 요구 5유닛인데 실제로 굴린 유닛 3개. eval/resume/README 는 "oracle.completed 가 전부 true 인 행만 배포된다"고 적고 있다.
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish all of what you were doing — pressing the button on the microwave and putting the mugs into the basket.”
  • task_named_n “You were interrupted earlier. Go back and finish all of what you were doing — pressing the button on the microwave — three in total and putting the mugs into the basket — five in total.”
cut (start_state)
exo1 · t=4:19 (f6494)
cut (start_state)
exo2 · t=4:19 (f6494)
cut (start_state)
wrist · t=4:19 (f6494)
T1 마지막 완료 유닛 (m=2)
exo1 · t=1:04 (f1621)
T2 마지막 완료 유닛 (m=1)
exo1 · t=4:19 (f6493)

5-12. train_6049__2000 변형 B — 9.4분 (14044 프레임) · task 2 · 심부름 3 · 유닛 10 · cut 13 · 질의 2행

episode_instruction: “Navigate to every room in the house and Pick up five of the apples from the dresser and place them in or on the dining table”
exo1 · exo2 · wrist · 구운 속도 8× · 재생: 원본 0:00 / 9:21
T1
T2
E1
E2
E3
02
08
파란/초록 띠 = task 구간 · 회색 띠 = errand(심부름) · 세로선 = cut 스냅샷 · 빨간 굵은 선 = 질의의 start_state · 클릭하면 영상 이동

사용자 발화 타임라인 — task 2개 + 심부름 3개

id구간사용자 발화 · 내용완료
T10:00–1:47“Navigate to every room in the house.”
방 전부 방문 · 방 bathroom → kitchen → living room → bedroom
3/4
T22:04–8:01“Pick up five of the apples from the dresser and place them in or on the dining table.”
물체 옮기기(표면→표면) · Apple × 5 · chestofdrawers → diningtable · k_src=3 k_dst=0
4/5
E10:19–0:49“close the laptop on the desk in the bedroom”
심부름 노트북 닫기 · T1 중단 · 방 bedroom · 56s
ok
E21:55–2:04“go check whether the desk lamp is still on the tv stand in the living room”
심부름 확인(가서 보기) · T1 중단 · 방 living room · 16s
ok
E38:11–9:21“move the remote to the other end of the dining table”
심부름 하나 가져오기 · T2 중단 · 방 bedroom · 138s
ok

resume 질의 2행 (+ cue ablation 4행)

resume:train_6049__2000:cut_02 resume1 변형 B cut_02 · 0:49 errand_end away 정답 유닛 3개 budget 3088
“You were interrupted earlier. Go back and finish what you were doing.” (cue=bare · main · 관찰 0:49 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Navigate to every room in the house.” ← 이 task 가 미완
  • 0:13 중단 + 심부름 “Hold on — close the laptop on the desk in the bedroom first.”
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 노트북 닫기 close the laptop on the desk in the bedroom
정답 — 미완 task 1개, 남은 유닛 합 3
T1 방 전부 방문 n=4 · m=1 · r=3 다른 방 gap 36s
“Navigate to every room in the house.” (f1, 0:00)
끝낸 유닛 m=1
  • 유닛 0 @ 0:13
간 방 bathroom → 남은 방 kitchen, living room, bedroom (3개)
기억이 필요한 이유: 방문한 방은 장면에 흔적이 전혀 없음 → 방문 집합 기억
오라클 2059 스텝 · 순서 T1:6, T1:7, T1:4 · source=episode+tail → budget = max(400, 1.5×2059) = 3088
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish what you were doing — visiting every room.”
  • task_named_n “You were interrupted earlier. Go back and finish what you were doing — visiting every room.”
cut (start_state)
exo1 · t=0:49 (f1227)
cut (start_state)
exo2 · t=0:49 (f1227)
cut (start_state)
wrist · t=0:49 (f1227)
T1 마지막 완료 유닛 (m=1)
exo1 · t=0:13 (f340)
resume:train_6049__2000:cut_08 multi 변형 B cut_08 · 5:25 unit at_task 정답 유닛 4개 budget 9493
“You were interrupted earlier. Go back and finish all of what you were doing.” (cue=bare · main · 관찰 5:25 분량)
컷까지 사용자가 한 말 (commands[], 컷 이후는 없음)
  • 0:00 새 명령 “Navigate to every room in the house.” ← 이 task 가 미완
  • 0:13 중단 + 심부름 “Hold on — close the laptop on the desk in the bedroom first.”
  • 0:49 재개 “Okay, continue what you were doing.”
  • 1:47 중단 + 심부름 “Hold on — go check whether the desk lamp is still on the tv stand in the living room first.”
  • 2:04 새 명령 “Pick up five of the apples from the dresser and place them in or on the dining table.” ← 이 task 가 미완
이미 끝난 것 — 다시 하면 no_finished_redo 실패
  • E1 노트북 닫기 close the laptop on the desk in the bedroom
  • E2 확인(가서 보기) go check whether the desk lamp is still on the tv stand in the living room
정답 — 미완 task 2개, 남은 유닛 합 4
T1 방 전부 방문 n=4 · m=3 · r=1 다른 방 gap 217s
“Navigate to every room in the house.” (f1, 0:00)
끝낸 유닛 m=3
  • 유닛 0 @ 0:13
  • 유닛 1 @ 1:23
  • 유닛 2 @ 1:47
간 방 bathroom, kitchen, living room → 남은 방 bedroom (1개)
기억이 필요한 이유: 방문한 방은 장면에 흔적이 전혀 없음 → 방문 집합 기억
T2 물체 옮기기(표면→표면) n=5 · m=2 · r=3 현장에 있음 gap 0s
“Pick up five of the apples from the dresser and place them in or on the dining table.” (f3109, 2:04)
끝낸 유닛 m=2
  • 유닛 0 @ 3:59 t2a2_Apple_21
  • 유닛 1 @ 5:25 t2a3_Apple_21
출발 chestofdrawers 잔여 6개(여분 k_src=3) · 도착 diningtable 에 로봇이 놓은 2개 + 원래 있던 k_dst=0개 = 세면 2개 control: k_dst=0 → 도착지를 세면 m 이 나옴
기억이 필요한 이유: 이 슬롯은 control — k_dst=0 이라 도착지를 세면 m 이 그대로 나온다(기억 없이 풀림). 채점에서 분리 표기할 것
오라클 6329 스텝 · 순서 T1:4, T2:t2a4_Apple_21, T2:t2a5_Apple_21, T2:t2a6_Apple_21 · source=episode+tail → budget = max(400, 1.5×6329) = 9493
cue ablation (같은 start_state·정답, 문장만 교체)
  • task_named “You were interrupted earlier. Go back and finish all of what you were doing — visiting every room and moving the apples to the dining table.”
  • task_named_n “You were interrupted earlier. Go back and finish all of what you were doing — visiting every room and moving the apples to the dining table — five in total.”
cut (start_state)
exo1 · t=5:25 (f8130)
cut (start_state)
exo2 · t=5:25 (f8130)
cut (start_state)
wrist · t=5:25 (f8130)
T1 마지막 완료 유닛 (m=3)
exo1 · t=1:47 (f2697)
T2 마지막 완료 유닛 (m=2)
exo1 · t=5:25 (f8129)

6Takeaway · Next

설계는 9/3 임시본보다 확실히 좋아졌다. ① 미완 task 가 사용자 발화로만 생기고 영상은 “스스로 재개하는 행동”을 한 번도 보여주지 않아 정답 행동이 시연되지 않는다 ② finished[] 로 오답 유인(다시 하기)이 채점에 들어왔다 ③ multi 61행이 “미완이 둘일 때 둘 다 챙기는가”를 새로 잰다 ④ attempt_count 기준 채점이라 파지 실패가 기억 실패로 오염되지 않는다 ⑤ 컷이 median 80% 지점이라 관찰 분량이 median 6.0분으로 충분히 길다.
오라클 미완주 27행은 트랙에 따라 다르다. 문서가 “이런 행은 뺐다”고 적었으니 데이터 쪽 버그는 맞지만, 오라클은 실행 가능 증거와 스텝 예산에만 쓰인다 — 읽기 트랙은 161행 전부 쓰면 되고(정답 GT 222/222 독립 검증), 실행 트랙만 134행으로 줄이거나 재롤아웃을 기다린다.
정작 지금 막고 있는 것: ① 우리 러너 run_eval_resume.py 가 v2 스키마를 못 받는다(§4-5) ② 이미지 예산 — find 의 cap 8 을 그대로 쓰면 press/visit 슬롯 절반이 “셀 수 있는 최소 조건”조차 못 만족한다(§4-3).

데이터팀에 전달할 것

  1. 🔴 오라클 자격 게이트 미실행 — oracle.completed 에 false 가 있는 27행이 배포됨(그중 steps=0 10행은 budget 이 하한 400). stats.json 의 oracle.ok=null, drop_rate=0.0 도 같이 고쳐야 한다. 목록은 이 페이지 §3-1.
  2. 🟠 k_src 가 2·3 두 값뿐 — 출발면을 세면 r 이 두 값으로 좁혀진다. k_dst 처럼 0–4 로 흩어 주면 물체 task 도 완전 차단이 된다.
  3. 🟠 L2 세그먼트 instruction 고정 문자열 — visit nav 128건 “Navigate to the table”, press manip 74건 가전 불일치. (9/3에 이어 두 번째 보고)
  4. 🟠 axes.fetch_scope 가 항상 null — eval README 에 정의된 축인데 채워지지 않는다. 채우거나 문서에서 빼야 한다.
  5. 🟠 on+at+off ≠ n_planned + k_src 14슬롯 — 계획값과 실측이 어긋난다(자격 자체는 만족). 오라클 실패 편과 8건 겹쳐 같은 원인일 수 있다.

우리 하네스에서 할 일

  1. 러너: 입력 = context_frames 구간 영상(+메모리 전략) + bare 문장 + commands[], 시작 상태 = cut_NN.npz. 캐시 키는 (context, context_frames[1]) — find/restore 와 달리 한 편에 컷이 둘이라 context 만으로 묶으면 두 행이 섞인다(편당 1.61행).
  2. 채점: task 마다 right_task ∧ no_redo ∧ attempt_count==r ∧ stop_correct, multi 는 전부 만족해야 1차 성공. finished[] 재실행은 즉시 실패. control(15슬롯)·오라클 미완주(27행)는 본표에서 분리해 보고한다.
  3. A2 게이트: commands[] + done_units 를 그대로 주면 r 이 바로 나오니 텍스트로그 오라클 상한은 1.0 이다. 실제 난이도는 “영상만 보고 m 을 세기”와 “끝난 심부름을 다시 하지 않기”에 있다 — 온라인 컨트롤 프로토콜 v2 의 읽기/온라인 대비와 같은 구도.
  4. 비용: 관찰 분량이 median 6.0분(최대 13.8분)이라 find/restore 보다 컨텍스트가 길다. 읽기 트랙 이미지 예산(cap 8)을 그대로 쓰면 편당 프레임 간격이 45초까지 벌어져 유닛 하나를 통째로 놓친다 — resume 은 예산을 따로 잡아야 한다(m 을 세는 과제라 프레임 밀도가 곧 성능).