feat(harness): add kimi as a verified crewmate/secondmate adapter#657
Draft
dannyyounes wants to merge 1 commit into
Draft
feat(harness): add kimi as a verified crewmate/secondmate adapter#657dannyyounes wants to merge 1 commit into
dannyyounes wants to merge 1 commit into
Conversation
Kimi Code CLI has no positional or stdin initial-prompt injection that keeps its interactive session alive, so fm-spawn.sh launches it bare and types the brief into the composer as the first message once it reports ready, reusing the same fm_backend_send_text_submit primitive fm-send.sh uses for an ordinary steer. Busy-pane detection relies on firstmate's existing hash-based staleness layer rather than a text signature, since kimi's only busy cue is an animating spinner glyph with no stable ASCII footer text; this was verified to keep the pane hash changing through a real blocking tool call. Scoped to crewmate/secondmate use only, kimi has no primary turn-end guard, PreToolUse seatbelt, or watcher protocol yet.
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.
Summary
kimi-cli1.49.0) as a crewmate/secondmate harness and wires it intofm-spawn.sh.-p/stdin both run one-shot and exit), so the launch template starts it bare and a post-launch step types the brief into the composer as the first message, reusing the existingfm_backend_send_text_submitprimitivefm-send.shalready uses for steers.sleep).hooks = []config) lives in.agents/skills/harness-adapters/SKILL.md.Test plan
bin/fm-lint.sh(ShellCheck 0.11.0, pinned) clean on the full file settests/fm-kimi-harness.test.sh(fake-tmux driven) passes: confirms the bare launch + post-launch brief injection lands as two distinct tmux calls with no unsubstituted__BRIEF__tests/*.test.sh, 1325 assertions) re-run: 6 pre-existing failures reproduce identically on the unmodified base commit (cd218f2, confirmed via a clean detached worktree) and are unrelated to this change (orca/zellij/backend teardown env issues, backlog-handoff, decision-hold-lifecycle, secondmate-lifecycle-e2e)kimisession: multi-line brief buffering, busy/idle/pending composer classification,Ctrl-Cinterrupt,/exit, andkimi -r <session-id>resume all confirmed working