feat(core): add builtin /steer command - #669
Conversation
chenhg5
left a comment
There was a problem hiding this comment.
Review Summary
/steer through optional SessionSteerer interface is well-designed — avoids tight coupling to specific agents. Claude and Codex app-server mappings with unit tests are solid, i18n and docs consistent.
🔴 Blocker: corrupted shellJoinArgs comment
File: agent/claudecode/session.go (shellJoinArgs)
Why: The comment demonstrating single-quote concatenation was changed from the correct 'it'\''s' to a version with incorrect characters, misrepresenting real shell escaping and misleading future maintainers.
Fix: Restore the correct ASCII escape example (or match the original line exactly) to avoid introducing curly quotes / incorrect Unicode.
✅ Good: cmdSteer uses type assertion to handle unsupported backends; Codex exec scope is documented.
Request changes — please fix the shellJoinArgs comment regression.
|
Fixed. I restored the shellJoinArgs comment to the correct ASCII single-quote escape example: |
|
Thanks for the careful work here. I opened #1652 as a Draft based on the current It follows the same optional-capability and Codex There is clear overlap with the Codex portion of #669. I am linking the draft for coordination and am happy to reuse the established interface/naming, split the work, or close #1652 if maintainers prefer continuing this PR. |
Summary
This PR adds a new builtin
/steercommand with a narrow, explicit meaning:Backend mapping in this first version:
usermessage withpriority=nextturn/steerWhy
There has been prior discussion around repurposing
/btwor renaming it to/ps:After reviewing the current
cc-connectbehavior, Claude Code semantics, Codex app-server semantics, and both CLI profile research docs, the main conclusions are:/btwis a side-question flow, not same-task steering/psas a native commandcc-connectstill needs a clear cross-backend command for:This PR intentionally introduces
/steeras that explicit command instead of trying to settle the final/btw//psnaming question here.Scope
Included:
/steeruser(priority=next)turn/steerNot included:
/btw/pspriority=nowValidation
Local validation completed:
/steerpriority=nextmessage shapeturn/steerrequest shapepnpm buildactionlintgolangci-lint --new-from-rev origin/maingo build ./...go test ./... -v -racego test ./... -coverprofile=coverage.out -covermode=atomicgo test -v -tags=smoke,no_web ./tests/e2e/...go test -v -tags=regression,no_web ./tests/e2e/...go test -bench=. -benchmem -tags=performance,no_web ./tests/performance/...Related: