fix: daemon worktree path and agent forking issues #191

Merged
shoko merged 1 commits from fix/issue-daemon-worktree-path-fix into main 2026-04-06 11:19:52 +02:00
Owner

Summary

Multiple fixes for queue daemon and agent forking issues.

Bug 1: Worktree path mismatch (caused "use kugetsu continue" log)

Location: kugetsu-queue-daemon.sh line 112

Problem: Daemon checked worktree_exists "$issue_ref" "$HOME/.kugetsu-worktrees" but worktrees are created in $WORKTREES_DIR (~/.kugetsu/worktrees)

Fix: Changed to use $WORKTREES_DIR

Bug 2: GITEA_TOKEN unbound variable

Location: kugetsu-session.sh lines 197, 316, 371, 373

Problem: load_agent_env "dev" was called but ~/.kugetsu/env/dev.env and ~/.kugetsu/env/default.env don't exist, so GITEA_TOKEN was never loaded

Fix: Added fallback to pm-agent.env in load_agent_env() in kugetsu-config.sh

Bug 3: disown error

Location: kugetsu-session.sh lines 316, 371, 373

Problem: && disown pattern caused "no such job" errors because subshell exited before disown ran

Fix: Removed && disown - nohup already makes process immune to SIGHUP

Changes

  • kugetsu-queue-daemon.sh: Use $WORKTREES_DIR instead of hardcoded path
  • kugetsu-config.sh: Add fallback to pm-agent.env in load_agent_env()
  • kugetsu-session.sh: Fix agent forking in cmd_delegate, cmd_start, and cmd_continue
## Summary Multiple fixes for queue daemon and agent forking issues. ## Bug 1: Worktree path mismatch (caused \"use kugetsu continue\" log) **Location:** `kugetsu-queue-daemon.sh` line 112 **Problem:** Daemon checked `worktree_exists "$issue_ref" "$HOME/.kugetsu-worktrees"` but worktrees are created in `$WORKTREES_DIR` (`~/.kugetsu/worktrees`) **Fix:** Changed to use `$WORKTREES_DIR` ## Bug 2: GITEA_TOKEN unbound variable **Location:** `kugetsu-session.sh` lines 197, 316, 371, 373 **Problem:** `load_agent_env "dev"` was called but `~/.kugetsu/env/dev.env` and `~/.kugetsu/env/default.env` don't exist, so GITEA_TOKEN was never loaded **Fix:** Added fallback to `pm-agent.env` in `load_agent_env()` in `kugetsu-config.sh` ## Bug 3: disown error **Location:** `kugetsu-session.sh` lines 316, 371, 373 **Problem:** `&& disown` pattern caused "no such job" errors because subshell exited before disown ran **Fix:** Removed `&& disown` - `nohup` already makes process immune to SIGHUP ## Changes - `kugetsu-queue-daemon.sh`: Use `$WORKTREES_DIR` instead of hardcoded path - `kugetsu-config.sh`: Add fallback to `pm-agent.env` in `load_agent_env()` - `kugetsu-session.sh`: Fix agent forking in `cmd_delegate`, `cmd_start`, and `cmd_continue`
shoko added 1 commit 2026-04-06 11:15:41 +02:00
1. daemon: use $WORKTREES_DIR instead of $HOME/.kugetsu-worktrees
   - Worktrees are created in ~/.kugetsu/worktrees but daemon was checking ~/.kugetsu-worktrees
   - This caused cmd_start to be called when cmd_continue should have been

2. load_agent_env: add fallback to pm-agent.env
   - When dev.env and default.env don't exist, fallback to pm-agent.env
   - Ensures GITEA_TOKEN is available

3. Remove '&& disown' pattern that causes 'no such job' errors
   - nohup already makes process immune to SIGHUP
   - disown was causing errors because job context was lost
shoko merged commit 119c9b8fd9 into main 2026-04-06 11:19:52 +02:00
Sign in to join this conversation.