# 結果：20261103_76_直した版で基準データを取り直す

- 状態：完了
- 始めた時刻：2026-11-03 10:56
- 終わった時刻：2026-11-03 11:21（25分）
- 作業フォルダ：/Users/shimazueiichi/Robotics_UX/ServiceSim
- この続きを Claude Code で話すとき：作業フォルダで `claude --resume 9b93b5af-88af-4683-aa03-1c46052c18ed`
- 止められた操作：1件（いちばん下に一覧）

## Claude Code の報告

やったこと
- 始める前の確かめ：依頼74 は「済み」で、合格とみました。依頼75 は見張り係が止まったため「失敗」に回り、終わっています。Unity エディタと night_runner／rec_runner は動いておらず、KIOXIA はマウント済み、鍵ファイルはなし、保留は 0 でした。台帳は先に退避しました。
- 依頼の 0「立ち往生をスタッフが解く」を、切り替え（実行ファイルの引数 `-ssStuckRescue on|off`、queue の `stuck_rescue`）として入れました。
  - 既定は入です。入の回は、出力フォルダ名の末尾に `_rescue` が付きます。
  - 切の回の動きは今までと同じです。
  - params には項目が無いので、params は変えずに、既定はコードの側に置きました。
- 入の回の動き：
  - ロボットが 30 秒続けて動けなかったら、助けを優先 0 で呼びます。
  - 手が空いている人のうち、道の長さで近い人が行きます。全員ふさがっていれば、仕事を終えた人が行きます。
  - 着いてから 15 秒で片方を、相手の道から外れた一番近い空いた所へ動かし、そこで道を引き直させます。
  - ロボットどうしなら空の方を、同じなら行き先まで遠い方を動かします。人とならロボットを動かします。
  - スタッフが着く前に自分で動き出したら、取り消します。
- 記録：rescues.csv を書き、summary.json に `rescues`・`rescue_staff_s` を出し、モニターに「助けに行く」を出すようにしました。判定（judge_night.py）の条件にもこの入切を足しました。
- cs:63 で check-in し、画面なしの実行ファイルを作り直しました（build_id cs63_20261103_1114・保留 0）。
- ⑦（fam_p5・種7・2台）を 1 回回して確かめました。

結果
- 前に約 9 分止まっていた向かい合い（1472 秒〜）は、助け 2 回、約 105 秒で解けました。
  - 1 回目は 30 秒＋手が空くまで 0.05 秒＋歩き 5.9 秒＋15 秒＝51.3 秒で、1号機を 1.16 m 動かしました。
  - 解けるまでの秒は、35 回の中央値で 51.0 秒です。どの行も「30 秒＋待ち＋歩き＋15 秒」と合っていました。
- ただし、依頼が「180 回は回さずに止める」と決めている変な動きが 2 つとも出ました。
  - **同じ所で何度も助けが要る**：往復を終えて止まっている2号機に、1号機が阻まれ続けました。
    - 待機場所の手前 (16.5, 5.9) で 8 回、受け渡し口の近く (15.7, 5.0) で 8 回、助けが入りました。
    - 2号機は止まっていて道が無いので、1号機はほとんど動かされず（35 回中 25 回が 0.05 m 未満）、同じ所でまた止まりました。
    - この詰まりは、助けを入れる前の cs:62 の同じ回でも起きていました（同じあたりで 30 秒以上の止まりが 12 回）。
  - **助けに行ったスタッフが詰まる**：4028 秒、通路 A01 で、助けに行ったスタッフが 2 回あきらめ、3 回目に「移した」になりました。
- このため、基準データの 180 回は回していません。店ごと・台数ごとの表と、試算の stuck_rate 0.01 との並べは作れていません。
- 確かめの 1 回の数：呼んだ 41 回、動かした 35 回、取り消し 6 回、`rescue_staff_s` 943.7 秒、往復 127 回でした。
- 台帳は 1658 → 1659 行で、追記 1 行だけです。
  - 始める前の md5：7896338a6483643ca5f88f1950795d27（退避と同じ）
  - 終わったあとの md5：69510edef7fe2a792ba5e27a62421310
  - 先頭 1658 行の md5 は始める前と同じで、前の行は変わっていません。

変えたファイル
- Assets/ServiceSim/Service/ServiceOps.cs
- Assets/ServiceSim/Robot/ServingRobotController.cs
- Assets/ServiceSim/People/StaffAgent.cs、PersonRobotYield.cs
- Assets/ServiceSim/Experiment/ExperimentRunner.cs、HeadlessRun.cs、TripLogger.cs
- Assets/ServiceSim/Store/KitchenMonitor.cs
- tools/make_queue.py、night_runner.py、judge_night.py
- 以上 11 ファイルを cs:63 で check-in しました。
- Builds/headless を作り直しました。
- 報告は claude_code_reports/20261103_tpfix_base.txt に書きました。

決めてほしいこと
1. 相手が往復を終えて止まっている台（待機場所や受け渡し口の点にいる台）のときの決まり。今の決まりのままでは、同じ所で何度も助けが入ります。案は次の 3 つです。
   - 止まっている台の方を動かす
   - 相手の体から離れた所へ、呼んだ台を動かす
   - 店の形の側で、待機場所どうしの間を広げる（今は中心どうし約 0.76 m）
2. 助けに行くスタッフが細い通路で着けないとき、今は 60 秒であきらめ、3 回目で「移した」（瞬間移動）になります。このままにするか、助けのときだけ別の決まりにするか。
3. 1・2 を決めたあと、⑦の確かめをやり直して 180 回を回すか。並べ方と比べる相手は用意できています。
4. 画面なしの実行ファイルの既定を「助け 入」のままにしておくか。次の依頼77 は入を前提にしているので、入のまま残しています。

## 止められた操作

- {"tool_name": "Bash", "tool_use_id": "toolu_01BWkJyFUGrXKhBhQh71ck1t", "tool_input": {"command": "cd /Users/shimazueiichi/Robotics_UX/ServiceSim/tools; python3 - <<'EOF'\ndef rep(p, old, new, cnt=1):\n    s=open(p,encoding='utf-8').read()\n    assert s.count(old)==cnt, (p, old[:80], s.count(old))\n    s=s.replace(old,new)\n    open(p,'w',encoding='utf-8').write(s)\np='make_queue.py'\nrep(p, \"\"\"決まりの値（pass_clear_m など）は Unity が params の unity_rules から読む（ここでは写さない）。\"\"\", \"\"\"立ち往生の助け（2026-11-03
