依頼178 報告：実機推論をチャンクごとの Enter で止めず、スペースを押したときだけ止める（Log35）

■ やったこと
1. run_policy_client.py に --no-step-confirm を足した（付けなければ今までと同じ）。
- 始めの確かめ（1回目の推論の前の Enter）は今までどおり。--skip-first-confirm もそのまま効く。
- そのあとは入力欄を出さずに次の推論・実行へ進む。
- 推論中・中継点を送って待つ間・到着の確かめの間にスペース（Enter も可）を押すと「止める予約」になる。今のチャンクは最後まで送り、次の推論を出したところ（送る前）で今までと同じ入力欄を出す。推論中に押したときは、その推論を送らずに入力欄を出す。
- 入力欄からの p・c・b・r・h・q・s・Enter は今までどおり。Enter で実行すると、また止まらずに進む。s・b・c・p のあとは止めたままにし、次の推論でも入力欄を出す（始めの確かめで s・b・c・p を選んだときも同じ）。
- キーは termios の cbreak と select で待たずに読む。入力欄の前と、終わるとき（Ctrl-C・例外も）に端末の設定を元に戻す。Ctrl-C はそのまま効く。
- 未到達・関節角が読めない（最後の中継点を送らなかった経路も含む）ときは、終了コード 1 にせず止める予約を入れて入力欄を出す。安全範囲の外は今までどおり。推論の始めに関節角が読めないときの終了コード 1 は、今の --auto なしと同じなので変えていない。
- 止める予約のときと入力欄を出すときに 1 行出す。log.jsonl に type=pause の行（event=requested：押したキー・わけ・どの推論の間か・どのチャンクのあとか・時刻／event=prompt／event=resume）を残す。入力欄を出した推論の行に paused と prompt_t（入力欄を出した・閉じた時刻）、頭（type=model）に step_confirm を残す。
- 入力欄で待つ間の recorder のモードは今までどおり wait。
- --auto とは一緒に使えない（引数の確かめで止める）。
2. lab_start.sh：既定で --no-step-confirm を渡す。--step-confirm を付けると今までどおりチャンクごとに確かめる。起動時に [CONFIRM] の行でどちらかを出す。--help にも書いた。
3. chunk_timing.py：止めて入力欄で待った時間は「確認待ち」の列に入る（送ったチャンクは今までどおりの計算で入り、送らなかったチャンクも prompt_t から入れる）。メモに「止めた(スペース)」などを出し、頭に確かめの形（毎チャンク／止めたときだけ）を出す。
4. テスト
- 新しく足したもの：pi05/test_no_step_confirm.py 17件（キーなしで最後まで入力欄なし／途中でスペース→次の推論のあとで入力欄→p・b・Enter／スペースのあと q／Enter で止めて s／推論中に押したら送らない／ほかのキーでは止めない／未到達・読めない・最後の中継点を送らなかった経路で入力欄／Ctrl-C で端末を戻す／入力欄のときは必ず端末が元に戻っている／pty で本物の端末の設定が cbreak になり元に戻る／戻すのに失敗してももう一度戻せる／付けなければ git HEAD の版と同じ送り方・同じ log）
- test_chunk_timing 7件、test_lab_start.sh OK 218 / NG 0。
- pi05/ のテストと tools/test_gamepad_teleop は全部通った。test_power_ab は全部まとめて流したときに 1 件落ちたが、単独では通った。計測の時刻に左右されるテストで、今回変えたファイルは使っていない。test_teach_currents も 1 回目に 1 件落ちたが、2 回目は通った。
5. codex：3回。1回目に必須4件・推奨1件。R1（始めの確かめで s・b・c・p を選んだあとに止まらない）、R3（最後の中継点を送らなかった経路の未到達）、R4（端末の設定を戻すのに失敗したとき）、R5（送らなかったチャンクの待ち）を直した。R2（推論の始めに関節角が読めないと終了コード 1）は今の --auto なしと同じ動きなので据え置いた。2回目で R5 の続き（最後のチャンクの合計）を直し、3回目は指摘なし。
6. コミット 047e472（7ファイルを個別に add）。

■ 画面の例（偽のアームで流したもの）
キーなしで流れるとき（始めの Enter のあとは入力欄なし）：
[PAUSE ] --no-step-confirm: 始めの確かめのあとは入力欄を出さずに進みます. 止めるときはスペース (Enter も可). 今のチャンクを送り終えてから, 次の推論のあと (送る前) で入力欄を出します
[000] 推論 ……  （始めの確かめの入力欄 → Enter）
       [VIA   ] step  2 …… 着いた  ……  step  9 …… 着いた
[001] 推論 0ms  10ステップ先  Δ=+10.0  +5.0 ……
       [VIA   ] 中継点 4 点: step 2, 5, 8, 9
       [VIA   ] step  2 …… 着いた  ……  step  9 …… 着いた
[002] 推論 ……  （そのまま進む）

途中でスペースを押したとき：
[001] 推論 0ms  10ステップ先  Δ=+10.0  +5.0 ……
       [VIA   ] step  2 …… 着いた
       [VIA   ] step  5 …… 着いた
       [PAUSE ] 止める予約 (スペース). 推論 1 を送り終えてから, 次の推論のあと (送る前) で止めます
       [VIA   ] step  8 …… 着いた
       [VIA   ] step  9 …… 着いた
[002] 推論 0ms  10ステップ先  Δ=+10.0  +5.0 ……
       [VIA   ] 中継点 4 点: step 2, 5, 8, 9
       [PAUSE ] 止めました (推論 2 はまだ送っていません). Enter で実行すると, また止まらずに進みます
       Enter=実行 / s=送らず次へ / b=巻き戻し / p=ゲームパッドで補正 / c=キーで補正 / r=爪の締め直し / h=HOMEに戻して終了 / q=終了 >
（推論中に押したときは「止める予約 (スペース). 推論 N は送らずに入力欄を出します」）
「止める予約」の行は、押したあとの次の区切り（中継点を送り終えたとき・推論のあと・チャンクの送り終わり）で出る。1 つの中継点の到着を待っている間に押すと、その中継点が終わってから出る。

■ ゲームパッドのボタンで止める案（今回は作っていない）
- 案：推論のあいだ、gamepad_teleop.py を別のプロセスで「見張りだけ」の形（例：--pad-watch。決めた 1 ボタン（OPTIONS か ○ など）を押したら 1 行の JSON を出すだけ。送る仕事はしない）で起動しておく。推論のプロセスは、スペースを読むのと同じ所（check_pause）で、その子の出力を select で待たずに読み、届いたら同じ「止める予約」にする（key=pad）。
- 補正 p でゲームパッドの子を起動する前に見張りの子を止め、補正を抜けたら起こし直す（同じコントローラーを 2 つのプロセスで同時に開かないため）。cv2 と pygame は今までどおり別のプロセスのまま。
- 手間：gamepad_teleop に見張りの形を足す・子の起動と止めと落ちたときの扱い・つながらないときは黙ってキーだけにする・テスト（偽の子）で、半日〜1日ほど。見張りの子が止まらないときの扱い（依頼145 と同じく kill して進む）を決める必要がある。

■ エイイチが実機で比べるときのコマンド
- 新しい形（既定）：./lab_start.sh --log Log35 --model <いつものモデル> --flow
- 今までの形：./lab_start.sh --log Log35 --model <いつものモデル> --flow --step-confirm
- 比べる：python3 pi05/chunk_timing.py pi05_20261113_193254 <今回の試行のフォルダ名>
（--flow・--speed は依頼176 と同じく好みで。止めるときはスペースを 1 回押す。動いている途中では止まらず、次の推論のあとで入力欄が出る）

■ 変えたファイル
- 修正：pi05/run_policy_client.py、lab_start.sh、test_lab_start.sh、pi05/chunk_timing.py、pi05/test_chunk_timing.py、pi05/test_rewind_correct.py
- 新規：pi05/test_no_step_confirm.py

■ 決めてほしいこと
1. 止める場所：依頼文は「次の推論の前で止める」だが、今までと同じ入力欄（Enter=表示した推論を実行・s=送らず次へ）をそのまま使うため、「次の推論を出したあと・送る前」で止めた（アームは送る前なので動かない。待ち時間は今までどおり確認待ちの列に入る）。推論の前で止める形がよければ直す。
2. 推論中にスペースを押したときは、その推論を送らずに入力欄を出すようにした（依頼文の「今のチャンクを最後まで」は動いている途中の話と読んだ）。それでよいか。
3. 推論の始めに関節角が読めないときは、今の --auto なしと同じく終了コード 1 で止まる（何も送らない）。入力欄を出す形にするか。
