@adaptic/maestro 1.8.2 → 1.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/maestro.mjs +15 -3
- package/package.json +1 -1
- package/plugins/maestro-skills/skills/board-deck.md +2 -2
- package/plugins/maestro-skills/skills/decision-brief.md +6 -6
- package/plugins/maestro-skills/skills/draft-comms.md +9 -9
- package/plugins/maestro-skills/skills/evening-wrap.md +2 -2
- package/plugins/maestro-skills/skills/hiring-triage.md +4 -4
- package/plugins/maestro-skills/skills/inbox-triage.md +5 -5
- package/plugins/maestro-skills/skills/morning-brief.md +4 -4
- package/plugins/maestro-skills/skills/pipeline-review.md +2 -2
- package/plugins/maestro-skills/skills/regulatory-status.md +2 -2
- package/plugins/maestro-skills/skills/schedule-meeting.md +3 -3
- package/plugins/maestro-skills/skills/slack-followup.md +5 -5
- package/plugins/maestro-skills/skills/weekly-memo.md +5 -5
- package/scaffold/CLAUDE.md +21 -0
- package/scripts/daemon/classifier.mjs +21 -5
- package/scripts/hooks/block-mcp-slack-send.sh +1 -1
- package/scripts/huddle/audio-bridge.mjs +17 -17
- package/scripts/huddle/boot-slack-cdp.sh +1 -1
- package/scripts/huddle/huddle-controller.mjs +3 -3
- package/scripts/huddle/huddle-server.mjs +21 -7
- package/scripts/huddle/launch-slack.sh +2 -2
- package/scripts/huddle/package-lock.json +2 -2
- package/scripts/huddle/package.json +2 -2
- package/scripts/huddle/setup-audio.sh +6 -6
- package/scripts/huddle/start-call.mjs +2 -2
- package/scripts/huddle/test-pipeline.mjs +2 -2
- package/scripts/parse-voice-transcript.mjs +4 -9
- package/scripts/poller/gmail-poller.mjs +8 -2
- package/scripts/poller/intra-session-check.mjs +4 -3
- package/scripts/poller-launchd/install.sh +48 -10
- package/scripts/pre_draft_lookup.py +2 -2
- package/scripts/self-optimization/compute-metrics.py +23 -2
- package/scripts/setup/boot-claude-session.sh +14 -5
- package/scripts/setup/render-environment-yaml.mjs +133 -0
- package/scripts/watchdog/ai.maestro.memory-watchdog.plist +3 -3
- package/scripts/watchdog/force-reboot.sh +3 -3
- package/scripts/watchdog/memory-watchdog.sh +11 -5
- package/workflows/daily/applicant-triage.yaml +3 -3
- package/workflows/daily/comms-triage.yaml +1 -1
- package/workflows/daily/morning-brief.yaml +1 -1
- package/workflows/daily/slack-followup-sweep.yaml +1 -1
- package/workflows/weekly/hiring-review.yaml +3 -3
|
@@ -26,8 +26,9 @@ set -euo pipefail
|
|
|
26
26
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
27
27
|
MAESTRO_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
28
28
|
|
|
29
|
-
# Auto-detect agent directory (
|
|
30
|
-
# The watchdog runs from maestro but protects the whole machine
|
|
29
|
+
# Auto-detect agent directory (any ~/<name>-ai or override via AGENT_DIR env).
|
|
30
|
+
# The watchdog runs from maestro but protects the whole machine — agents are
|
|
31
|
+
# discovered dynamically rather than hardcoded.
|
|
31
32
|
AGENT_DIR="${AGENT_DIR:-}"
|
|
32
33
|
|
|
33
34
|
# --- Ensure system paths are available ----------------------------------------
|
|
@@ -203,9 +204,14 @@ trigger_emergency_stop() {
|
|
|
203
204
|
echo "$reason" > "$stop_file"
|
|
204
205
|
log_event "critical" "emergency_stop_triggered" "$reason"
|
|
205
206
|
|
|
206
|
-
# Also create in any detected agent
|
|
207
|
-
|
|
208
|
-
|
|
207
|
+
# Also create in any detected agent directory. Discovers ~/<name>-ai
|
|
208
|
+
# directories dynamically so the watchdog protects every agent on this
|
|
209
|
+
# machine without a hardcoded list. AGENT_DIR override still wins.
|
|
210
|
+
if [ -n "$AGENT_DIR" ] && [ -d "$AGENT_DIR" ]; then
|
|
211
|
+
echo "$reason" > "$AGENT_DIR/.emergency-stop" 2>/dev/null || true
|
|
212
|
+
fi
|
|
213
|
+
for agent_dir in "$HOME"/*-ai; do
|
|
214
|
+
if [ -d "$agent_dir" ] && [ -f "$agent_dir/config/agent.json" ]; then
|
|
209
215
|
echo "$reason" > "$agent_dir/.emergency-stop" 2>/dev/null || true
|
|
210
216
|
fi
|
|
211
217
|
done
|
|
@@ -107,7 +107,7 @@ steps:
|
|
|
107
107
|
classification: outputs/briefs/daily/{date}/candidate-classification.md
|
|
108
108
|
category: advance
|
|
109
109
|
tone: warm_professional
|
|
110
|
-
voice:
|
|
110
|
+
voice: agent
|
|
111
111
|
sla: 24h
|
|
112
112
|
outputs:
|
|
113
113
|
file: outputs/comms/hiring/{date}/daily-advance-drafts.md
|
|
@@ -123,7 +123,7 @@ steps:
|
|
|
123
123
|
classification: outputs/briefs/daily/{date}/candidate-classification.md
|
|
124
124
|
category: hold
|
|
125
125
|
tone: professional
|
|
126
|
-
voice:
|
|
126
|
+
voice: agent
|
|
127
127
|
outputs:
|
|
128
128
|
file: outputs/comms/hiring/{date}/daily-hold-drafts.md
|
|
129
129
|
|
|
@@ -138,7 +138,7 @@ steps:
|
|
|
138
138
|
classification: outputs/briefs/daily/{date}/candidate-classification.md
|
|
139
139
|
category: reject
|
|
140
140
|
tone: kind_encouraging
|
|
141
|
-
voice:
|
|
141
|
+
voice: agent
|
|
142
142
|
sla: 48h
|
|
143
143
|
outputs:
|
|
144
144
|
file: outputs/comms/hiring/{date}/daily-rejection-drafts.md
|
|
@@ -62,7 +62,7 @@ steps:
|
|
|
62
62
|
timeout: 300
|
|
63
63
|
parallel_with: market-sweep
|
|
64
64
|
inputs:
|
|
65
|
-
account:
|
|
65
|
+
account: "{{agent.email}}" # resolved from config/agent.json at workflow execution
|
|
66
66
|
mode: observe # read-only, never act
|
|
67
67
|
priority_senders: [] # from config/contacts.yaml
|
|
68
68
|
outputs:
|
|
@@ -43,7 +43,7 @@ steps:
|
|
|
43
43
|
depends_on: [check-commitments]
|
|
44
44
|
inputs:
|
|
45
45
|
overdue_items: outputs/followups/daily/{date}/slack-commitments-status.md
|
|
46
|
-
voice:
|
|
46
|
+
voice: agent # Follow up in the agent's own voice (mode resolved from config/agent.json voiceModes)
|
|
47
47
|
outputs:
|
|
48
48
|
file: outputs/followups/daily/{date}/slack-followup-drafts.md
|
|
49
49
|
|
|
@@ -65,7 +65,7 @@ steps:
|
|
|
65
65
|
screening_results: outputs/briefs/weekly/{date}/screening-results.md
|
|
66
66
|
category: advance
|
|
67
67
|
tone: warm_professional
|
|
68
|
-
voice:
|
|
68
|
+
voice: agent
|
|
69
69
|
outputs:
|
|
70
70
|
file: outputs/comms/hiring/{date}/advance-drafts.md
|
|
71
71
|
|
|
@@ -80,7 +80,7 @@ steps:
|
|
|
80
80
|
screening_results: outputs/briefs/weekly/{date}/screening-results.md
|
|
81
81
|
category: reject
|
|
82
82
|
tone: kind_encouraging
|
|
83
|
-
voice:
|
|
83
|
+
voice: agent
|
|
84
84
|
outputs:
|
|
85
85
|
file: outputs/comms/hiring/{date}/rejection-drafts.md
|
|
86
86
|
|
|
@@ -95,7 +95,7 @@ steps:
|
|
|
95
95
|
screening_results: outputs/briefs/weekly/{date}/screening-results.md
|
|
96
96
|
category: hold
|
|
97
97
|
tone: professional
|
|
98
|
-
voice:
|
|
98
|
+
voice: agent
|
|
99
99
|
outputs:
|
|
100
100
|
file: outputs/comms/hiring/{date}/hold-drafts.md
|
|
101
101
|
|