Skip to content

修复 crewmate launch/steer 提交握手#94

Open
codenum137 wants to merge 2 commits into
kunchenguid:mainfrom
codenum137:fm/fix-spawn-send-handshake-q2
Open

修复 crewmate launch/steer 提交握手#94
codenum137 wants to merge 2 commits into
kunchenguid:mainfrom
codenum137:fm/fix-spawn-send-handshake-q2

Conversation

@codenum137

Copy link
Copy Markdown

变更

  • 修复 Codex idle composer 的 提示符识别,避免 dim suggestion 被剥离后仍误判为 pending。
  • fm-spawn 使用共享 submit 校验,不再只因进入 treehouse worktree 就报告成功。
  • 修复 busy pane steer:fm_tmux_submit_core 在写入文本前检测 fm_pane_is_busy,busy 时返回错误,不把 steering 文本塞进 composer。

验证

  • tests/fm-spawn-send-handshake.test.sh
  • tests/fm-composer-ghost.test.sh
  • tests/fm-daemon.test.sh
  • for t in tests/*.test.sh; do echo "== $t"; "$t" || exit $?; done

hey137 added 2 commits June 25, 2026 19:44
fm-send falsely reported swallowed Enter for Codex because dim ghost stripping left the idle prompt glyph ›, but fm_tmux_composer_state did not treat that glyph as a bare prompt. Add it to the shared empty-composer classifier and cover the bold prompt plus dim suggestion rendering.

fm-spawn could enter a treehouse worktree and print spawned even if the launch command never submitted, because it typed after cwd changed and never verified Enter landed. Reuse the shared tmux submit verifier and fail fast when launch text remains pending.
fm-send could type steering into a busy Codex pane while the agent was waiting on a tool/background terminal. Codex queued that text for the next tool-call composer, then fm-send saw pending text and misdiagnosed Enter as swallowed.

Guard the shared tmux submit primitive with fm_pane_is_busy before typing anything. Busy returns a distinct verdict so fm-send and fm-spawn fail fast without writing into the composer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant