mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-13 13:18:56 +02:00
33 lines
1.5 KiB
Go
33 lines
1.5 KiB
Go
package execenv
|
|
|
|
import "fmt"
|
|
|
|
// BuildCommentReplyInstructions returns the canonical block telling an agent
|
|
// how to post its reply for a comment-triggered task. Both the per-turn
|
|
// prompt (daemon.buildCommentPrompt) and the CLAUDE.md workflow
|
|
// (InjectRuntimeConfig) call this so the trigger comment ID and the
|
|
// --parent value cannot drift between surfaces.
|
|
//
|
|
// The explicit "do not reuse --parent from previous turns" wording exists
|
|
// because resumed Claude sessions keep prior turns' tool calls in context
|
|
// and will otherwise copy the old --parent UUID forward.
|
|
func BuildCommentReplyInstructions(issueID, triggerCommentID string) string {
|
|
if triggerCommentID == "" {
|
|
return ""
|
|
}
|
|
return fmt.Sprintf(
|
|
"If you decide to reply, post it as a comment — always use the trigger comment ID below, "+
|
|
"do NOT reuse --parent values from previous turns in this session.\n\n"+
|
|
"Always use `--content-stdin` with a HEREDOC for agent-authored issue comments, even when the reply is a single line. "+
|
|
"Do NOT use inline `--content`; it is easy to lose formatting or accidentally compress a structured reply into one line.\n\n"+
|
|
"Use this form, preserving the same issue ID and --parent value:\n\n"+
|
|
" cat <<'COMMENT' | multica issue comment add %s --parent %s --content-stdin\n"+
|
|
" First paragraph.\n"+
|
|
"\n"+
|
|
" Second paragraph.\n"+
|
|
" COMMENT\n\n"+
|
|
"Do NOT write literal `\\n` escapes to simulate line breaks; the HEREDOC preserves real newlines.\n",
|
|
issueID, triggerCommentID,
|
|
)
|
|
}
|