修复 crewmate launch/steer 提交握手#94
Open
codenum137 wants to merge 2 commits into
Open
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
变更
›提示符识别,避免 dim suggestion 被剥离后仍误判为 pending。fm-spawn使用共享 submit 校验,不再只因进入 treehouse worktree 就报告成功。fm_tmux_submit_core在写入文本前检测fm_pane_is_busy,busy 时返回错误,不把 steering 文本塞进 composer。验证
tests/fm-spawn-send-handshake.test.shtests/fm-composer-ghost.test.shtests/fm-daemon.test.shfor t in tests/*.test.sh; do echo "== $t"; "$t" || exit $?; done