Compare commits

...

1 Commits

Author SHA1 Message Date
shokollm
2af8e54f42 docs: update SKILL.md to reflect v0.2.3 daemon changes
- Update Daemon Behavior section to describe cmd_continue usage
- Document that daemon forks dev agents from base session (not pm_agent)
- Add v0.2.3 changelog entry documenting issue #156 fix
- Describe daemon locking and timeout handling features

Fixes #158
2026-04-08 06:06:18 +00:00

View File

@@ -364,10 +364,14 @@ kugetsu queue-daemon logs # Show recent daemon logs
**Daemon Behavior:** **Daemon Behavior:**
1. Runs at configurable interval (default: 5 minutes) 1. Runs at configurable interval (default: 5 minutes)
2. Checks if active agents < MAX_CONCURRENT_AGENTS 2. Checks queue for pending items
3. Picks 1-N pending items (configurable batch size) 3. For each pending item:
4. Forks PM session for each picked item - Acquires lock to prevent duplicate processing
5. PM decides whether to use `start` or `continue` - 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:** **Queue Directory:**
``` ```
@@ -526,6 +530,13 @@ The script will:
See [docs/kugetsu-setup.md](../../docs/kugetsu-setup.md) for full Tailscale setup documentation. 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 ## Without kugetsu
If kugetsu is not available, use opencode directly: If kugetsu is not available, use opencode directly: