Skip to content

fix(autopilot): runner の send-keys 到達確認とリトライ(cold-start 不達対策) #797

Description

@smalruby3-editor-bot

問題

daemon に implement を回したところ、runner が "ready" 判定(~6s)で /autopilot-<phase> を send-keys するが、claude TUI の入力ハンドラがまだ受付可能でないため最初の送信が捨てられ、claude が welcome プロンプトのままアイドルになる(手動で同じ send-keys をすると正常に submit され実行開始するため、tmux 入れ子ではなくタイミング問題と確定)。

対策

runner で 送信後に到達を確認し、未達ならリトライする:

  • send 後に pane をポーリングし、(a) BUSY_RE が出る or (b) 入力欄にコマンド文字列が反映 = 受理とみなす
  • 一定時間内に受理が確認できなければ -l テキスト + Enter を再送(数回まで、ジッタ付き)
  • これで 課題1(起動直後の send-keys 不達)を実質解消

検証

  • daemon から複数 implement を手動 kick なしで完走できること
  • 純粋ロジック(受理判定)に unit test

Part of #789

Metadata

Metadata

Assignees

No one assigned

    Labels

    🤖 autopilotautopilot(AI)が管理する PR/Issue(AI処理対象)

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions