feat(tmux-agent-orchestrate-monitor): integrate watchdog pattern as skill
Moved /tmp/subscriber-watchdog.sh → skills/tmux-agent-orchestrate-monitor/scripts/watchdog.sh (skill-managed lifecycle, no longer lives outside workspace). Added lib.sh::start_watchdog() helper: - Spawns watchdog as background nohup process - Writes watchdog log to .hermes/jobs/<JID>.watchdog.log - Returns watchdog PID via stdout Wired create_session.sh --submit-job to auto-start watchdog after JOB registration. Fixes: - Bug: registry.py get first-line parse was fragile (empty status → infinite loop) → Now uses python3 json.load for robust parsing - Bug: old path skills/delegate-job/scripts/job_subscriber.py hardcoded → Now uses skills/tmux-agent-orchestrate-delegate-job/scripts/job_subscriber.py Verified on isolated server -L agy-watchdog-skill-test (kill-server after): - Syntax check PASS - E2E: register job → start watchdog → publish completed → watchdog exits - Global skill non-interference verified - Main isolated server -L multi-agent-canary untouched
This commit is contained in:
@@ -263,6 +263,8 @@ echo "tmux session: $SESSION_NAME (pane pid $PANE_PID, cmd $PANE_CMD, cwd $PANE_
|
||||
if [ -n "$DELEGATE_JOB_ID" ]; then
|
||||
echo "delegate job: $DELEGATE_JOB_ID"
|
||||
delegate_publish_event "$DELEGATE_JOB_ID" started "tmux-agent-orchestrate session created"
|
||||
WD_PID=$(start_watchdog "$DELEGATE_JOB_ID" "$WORKSPACE")
|
||||
echo "watchdog PID: $WD_PID"
|
||||
fi
|
||||
echo "agent-sessions.yaml updated"
|
||||
echo
|
||||
|
||||
Reference in New Issue
Block a user