diff --git a/skills/kugetsu/SKILL.md b/skills/kugetsu/SKILL.md index 298c385..aa52482 100644 --- a/skills/kugetsu/SKILL.md +++ b/skills/kugetsu/SKILL.md @@ -364,10 +364,14 @@ kugetsu queue-daemon logs # Show recent daemon logs **Daemon Behavior:** 1. Runs at configurable interval (default: 5 minutes) -2. Checks if active agents < MAX_CONCURRENT_AGENTS -3. Picks 1-N pending items (configurable batch size) -4. Forks PM session for each picked item -5. PM decides whether to use `start` or `continue` +2. Checks queue for pending items +3. For each pending item: + - Acquires lock to prevent duplicate processing + - Sources kugetsu-session.sh and calls `cmd_continue` + - `cmd_continue` handles worktree/session creation and forks dev agent from base session + - Updates queue item state to "notified" +4. Uses per-issue locking to prevent race conditions +5. Implements timeout for tasks that don't complete (marks as "error" after TASK_TIMEOUT_HOURS) **Queue Directory:** ``` @@ -526,6 +530,13 @@ The script will: See [docs/kugetsu-setup.md](../../docs/kugetsu-setup.md) for full Tailscale setup documentation. +## Version History + +### v0.2.3 +- **Queue daemon context drift fix** (issue #156): Daemon now sources kugetsu-session.sh and calls `cmd_continue` directly instead of forking PM session. This fixes context drift where daemon would lose track of task state. +- **Daemon locking**: Added per-issue locking to prevent race conditions when multiple daemon instances run. +- **Timeout handling**: Tasks that don't complete within TASK_TIMEOUT_HOURS are marked as "error". + ## Without kugetsu If kugetsu is not available, use opencode directly: