fix(kugetsu): cmd_delegate should enqueue instead of calling cmd_start
When cmd_delegate detects an issue ref with number (e.g. git.fbrns.co/shoko/kugetsu#158), it was calling cmd_start directly which tries to create worktree and clone. This breaks the queue-based workflow where daemon should handle task execution. Now cmd_delegate calls enqueue_task to add to queue, and daemon processes tasks by calling cmd_start/cmd_continue as appropriate.
This commit is contained in:
@@ -153,10 +153,12 @@ cmd_delegate() {
|
||||
local issue_ref=$(extract_issue_ref_from_message "$message")
|
||||
|
||||
if [ -n "$issue_ref" ] && [[ "$issue_ref" =~ \#[0-9]+$ ]]; then
|
||||
cmd_start "$issue_ref" "$message"
|
||||
# Enqueue for daemon to process via cmd_start/cmd_continue
|
||||
enqueue_task "$issue_ref" "$message"
|
||||
return
|
||||
fi
|
||||
|
||||
# No issue ref detected — delegate directly to PM agent (legacy path)
|
||||
local pm_session=$(get_pm_agent_session_id)
|
||||
if [ -z "$pm_session" ] || [ "$pm_session" = "null" ] || [ "$pm_session" = "None" ]; then
|
||||
echo "Error: PM agent session not found. Run 'kugetsu init' first." >&2
|
||||
@@ -165,7 +167,7 @@ cmd_delegate() {
|
||||
|
||||
mkdir -p "$LOGS_DIR"
|
||||
local log_file="$LOGS_DIR/delegate-$(date +%s).log"
|
||||
nohup sh -c "GITEA_TOKEN='${GITEA_TOKEN:-}' opencode run '$message' --continue --session '$pm_session' >> '$log_file' 2>&1" > /dev/null 2>&1 &
|
||||
nohup sh -c "GITEA_TOKEN='***' opencode run '$message' --continue --session '$pm_session' >> '$log_file' 2>&1" > /dev/null 2>&1 &
|
||||
disown
|
||||
echo "Delegated to PM agent (logged to $(basename "$log_file"))"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user