claude-flow-novice 2.14.3 → 2.14.4
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/.claude/commands/CFN_LOOP_TASK_MODE.md +4 -47
- package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -276
- package/claude-assets/commands/CFN_LOOP_TASK_MODE.md +4 -47
- package/claude-assets/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -276
- package/dist/agents/agent-loader.js +165 -146
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/cli/agent-prompt-builder.js +25 -0
- package/dist/cli/agent-prompt-builder.js.map +1 -1
- package/dist/cli/config-manager.js +91 -109
- package/package.json +1 -1
- package/.claude/skills/cfn-redis-coordination/HEARTBEAT.md +0 -57
- package/.claude/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +0 -267
- package/.claude/skills/cfn-redis-coordination/LOGGING.md +0 -260
- package/.claude/skills/cfn-redis-coordination/README.md +0 -65
- package/.claude/skills/cfn-redis-coordination/SECURITY_REVIEW.md +0 -25
- package/.claude/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +0 -164
- package/.claude/skills/cfn-redis-coordination/SKILL.md +0 -720
- package/.claude/skills/cfn-redis-coordination/demos/test-dlq.sh +0 -129
- package/.claude/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +0 -320
- package/.claude/skills/cfn-redis-coordination/demos/test-orchestrator.sh +0 -249
- package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +0 -148
- package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +0 -163
- package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake.sh +0 -138
- package/.claude/skills/cfn-redis-coordination/demos/test-quick-fix.sh +0 -81
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +0 -45
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +0 -68
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +0 -56
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +0 -81
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum.sh +0 -57
- package/.claude/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +0 -187
- package/.claude/skills/cfn-redis-coordination/demos/test-shutdown.sh +0 -160
- package/.claude/skills/cfn-redis-coordination/demos/test-utils-unix.sh +0 -97
- package/.claude/skills/cfn-redis-coordination/demos/test-utils.sh +0 -97
- package/.claude/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +0 -59
- package/.claude/skills/cfn-redis-coordination/examples/README.md +0 -73
- package/.claude/skills/cfn-redis-coordination/examples/grafana-dashboard.json +0 -352
- package/.claude/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +0 -127
- package/.claude/skills/cfn-redis-coordination/examples/mesh-pattern.sh +0 -171
- package/.claude/skills/cfn-redis-coordination/examples/timeout-handling.sh +0 -227
- package/.claude/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +0 -239
- package/.claude/skills/cfn-redis-coordination/execute-product-owner-decision.sh +0 -258
- package/.claude/skills/cfn-redis-coordination/get-agent-timeout.sh +0 -177
- package/.claude/skills/cfn-redis-coordination/heartbeat-functions.sh +0 -137
- package/.claude/skills/cfn-redis-coordination/heartbeat-protocol.md +0 -106
- package/.claude/skills/cfn-redis-coordination/heartbeat.sh +0 -126
- package/.claude/skills/cfn-redis-coordination/init-swarm.sh +0 -148
- package/.claude/skills/cfn-redis-coordination/invoke-redis-pattern.sh +0 -220
- package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +0 -283
- package/.claude/skills/cfn-redis-coordination/list-active-swarms.sh +0 -147
- package/.claude/skills/cfn-redis-coordination/log-event.sh +0 -109
- package/.claude/skills/cfn-redis-coordination/metrics-export.sh +0 -674
- package/.claude/skills/cfn-redis-coordination/metrics-schema.json +0 -66
- package/.claude/skills/cfn-redis-coordination/metrics-storage.md +0 -31
- package/.claude/skills/cfn-redis-coordination/monitor-cfn-violations.sh +0 -391
- package/.claude/skills/cfn-redis-coordination/monitor-heartbeats.sh +0 -101
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +0 -141
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +0 -31
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
- package/.claude/skills/cfn-redis-coordination/priority-wake-mechanism.md +0 -75
- package/.claude/skills/cfn-redis-coordination/priority_wake.py +0 -134
- package/.claude/skills/cfn-redis-coordination/query-dlq.sh +0 -162
- package/.claude/skills/cfn-redis-coordination/query-logs.sh +0 -103
- package/.claude/skills/cfn-redis-coordination/redis-pattern.sh +0 -619
- package/.claude/skills/cfn-redis-coordination/retrieve-context.sh +0 -58
- package/.claude/skills/cfn-redis-coordination/select-specialist-agent.sh +0 -371
- package/.claude/skills/cfn-redis-coordination/semantic-match-tfidf.py +0 -252
- package/.claude/skills/cfn-redis-coordination/send-heartbeat.sh +0 -165
- package/.claude/skills/cfn-redis-coordination/signal.sh +0 -38
- package/.claude/skills/cfn-redis-coordination/store-context.sh +0 -86
- package/.claude/skills/cfn-redis-coordination/store-epic-context.sh +0 -123
- package/.claude/skills/cfn-redis-coordination/test-context-injection.sh +0 -354
- package/.claude/skills/cfn-redis-coordination/test-timeout-enforcement.sh +0 -513
- package/.claude/skills/cfn-redis-coordination/tests/convert-line-endings.sh +0 -15
- package/.claude/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +0 -102
- package/.claude/skills/cfn-redis-coordination/tests/edge-cases-test.sh +0 -99
- package/.claude/skills/cfn-redis-coordination/tests/integration-test.sh +0 -170
- package/.claude/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +0 -82
- package/.claude/skills/cfn-redis-coordination/tests/run-test-suite.sh +0 -92
- package/.claude/skills/cfn-redis-coordination/tests/run-tests.sh +0 -4
- package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +0 -418
- package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +0 -124
- package/.claude/skills/cfn-redis-coordination/tests/test-primitives.sh +0 -166
- package/.claude/skills/cfn-redis-coordination/tests/test-utils.sh +0 -54
- package/.claude/skills/cfn-redis-coordination/tests/test_utils.sh +0 -49
- package/.claude/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +0 -76
- package/.claude/skills/cfn-redis-coordination/validate-parameters.sh +0 -492
- package/claude-assets/skills/cfn-redis-coordination/HEARTBEAT.md +0 -57
- package/claude-assets/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +0 -267
- package/claude-assets/skills/cfn-redis-coordination/LOGGING.md +0 -260
- package/claude-assets/skills/cfn-redis-coordination/README.md +0 -65
- package/claude-assets/skills/cfn-redis-coordination/SECURITY_REVIEW.md +0 -25
- package/claude-assets/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +0 -164
- package/claude-assets/skills/cfn-redis-coordination/SKILL.md +0 -720
- package/claude-assets/skills/cfn-redis-coordination/demos/test-dlq.sh +0 -129
- package/claude-assets/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +0 -320
- package/claude-assets/skills/cfn-redis-coordination/demos/test-orchestrator.sh +0 -249
- package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +0 -148
- package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +0 -163
- package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake.sh +0 -138
- package/claude-assets/skills/cfn-redis-coordination/demos/test-quick-fix.sh +0 -81
- package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +0 -45
- package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +0 -68
- package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +0 -56
- package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +0 -81
- package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum.sh +0 -57
- package/claude-assets/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +0 -187
- package/claude-assets/skills/cfn-redis-coordination/demos/test-shutdown.sh +0 -160
- package/claude-assets/skills/cfn-redis-coordination/demos/test-utils-unix.sh +0 -97
- package/claude-assets/skills/cfn-redis-coordination/demos/test-utils.sh +0 -97
- package/claude-assets/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +0 -59
- package/claude-assets/skills/cfn-redis-coordination/examples/README.md +0 -73
- package/claude-assets/skills/cfn-redis-coordination/examples/grafana-dashboard.json +0 -352
- package/claude-assets/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +0 -127
- package/claude-assets/skills/cfn-redis-coordination/examples/mesh-pattern.sh +0 -171
- package/claude-assets/skills/cfn-redis-coordination/examples/timeout-handling.sh +0 -227
- package/claude-assets/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +0 -239
- package/claude-assets/skills/cfn-redis-coordination/execute-product-owner-decision.sh +0 -258
- package/claude-assets/skills/cfn-redis-coordination/get-agent-timeout.sh +0 -177
- package/claude-assets/skills/cfn-redis-coordination/heartbeat-functions.sh +0 -137
- package/claude-assets/skills/cfn-redis-coordination/heartbeat-protocol.md +0 -106
- package/claude-assets/skills/cfn-redis-coordination/heartbeat.sh +0 -126
- package/claude-assets/skills/cfn-redis-coordination/init-swarm.sh +0 -148
- package/claude-assets/skills/cfn-redis-coordination/invoke-redis-pattern.sh +0 -220
- package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +0 -283
- package/claude-assets/skills/cfn-redis-coordination/list-active-swarms.sh +0 -147
- package/claude-assets/skills/cfn-redis-coordination/log-event.sh +0 -109
- package/claude-assets/skills/cfn-redis-coordination/metrics-export.sh +0 -674
- package/claude-assets/skills/cfn-redis-coordination/metrics-schema.json +0 -66
- package/claude-assets/skills/cfn-redis-coordination/metrics-storage.md +0 -31
- package/claude-assets/skills/cfn-redis-coordination/monitor-cfn-violations.sh +0 -391
- package/claude-assets/skills/cfn-redis-coordination/monitor-heartbeats.sh +0 -101
- package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +0 -141
- package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +0 -31
- package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
- package/claude-assets/skills/cfn-redis-coordination/priority-wake-mechanism.md +0 -75
- package/claude-assets/skills/cfn-redis-coordination/priority_wake.py +0 -134
- package/claude-assets/skills/cfn-redis-coordination/query-dlq.sh +0 -162
- package/claude-assets/skills/cfn-redis-coordination/query-logs.sh +0 -103
- package/claude-assets/skills/cfn-redis-coordination/redis-pattern.sh +0 -619
- package/claude-assets/skills/cfn-redis-coordination/retrieve-context.sh +0 -58
- package/claude-assets/skills/cfn-redis-coordination/select-specialist-agent.sh +0 -371
- package/claude-assets/skills/cfn-redis-coordination/semantic-match-tfidf.py +0 -252
- package/claude-assets/skills/cfn-redis-coordination/send-heartbeat.sh +0 -165
- package/claude-assets/skills/cfn-redis-coordination/signal.sh +0 -38
- package/claude-assets/skills/cfn-redis-coordination/store-context.sh +0 -86
- package/claude-assets/skills/cfn-redis-coordination/store-epic-context.sh +0 -123
- package/claude-assets/skills/cfn-redis-coordination/test-context-injection.sh +0 -354
- package/claude-assets/skills/cfn-redis-coordination/test-timeout-enforcement.sh +0 -513
- package/claude-assets/skills/cfn-redis-coordination/tests/convert-line-endings.sh +0 -15
- package/claude-assets/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +0 -102
- package/claude-assets/skills/cfn-redis-coordination/tests/edge-cases-test.sh +0 -99
- package/claude-assets/skills/cfn-redis-coordination/tests/integration-test.sh +0 -170
- package/claude-assets/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +0 -82
- package/claude-assets/skills/cfn-redis-coordination/tests/run-test-suite.sh +0 -92
- package/claude-assets/skills/cfn-redis-coordination/tests/run-tests.sh +0 -4
- package/claude-assets/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +0 -418
- package/claude-assets/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +0 -124
- package/claude-assets/skills/cfn-redis-coordination/tests/test-primitives.sh +0 -166
- package/claude-assets/skills/cfn-redis-coordination/tests/test-utils.sh +0 -54
- package/claude-assets/skills/cfn-redis-coordination/tests/test_utils.sh +0 -49
- package/claude-assets/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +0 -76
- package/claude-assets/skills/cfn-redis-coordination/validate-parameters.sh +0 -492
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
# Shutdown Handling for Waiting Agents
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Agents in waiting mode can now listen for shutdown signals and exit gracefully with proper cleanup. This enables coordinators to terminate long-running tasks without leaving orphaned agents in the system.
|
|
6
|
-
|
|
7
|
-
## Implementation Details
|
|
8
|
-
|
|
9
|
-
### Multi-Key Monitoring
|
|
10
|
-
|
|
11
|
-
Agents in waiting mode now monitor **two** Redis keys simultaneously:
|
|
12
|
-
1. **Wake Queue**: `swarm:{task-id}:{agent-id}:wake-queue` (priority queue for wake signals)
|
|
13
|
-
2. **Shutdown Key**: `swarm:{task-id}:shutdown` (broadcast shutdown signal)
|
|
14
|
-
|
|
15
|
-
### Polling Strategy
|
|
16
|
-
|
|
17
|
-
Since Redis `BZPOPMIN` doesn't support multiple keys, we implement a polling loop:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
while true; do
|
|
21
|
-
# Check shutdown first (highest priority)
|
|
22
|
-
SHUTDOWN_CHECK=$(redis-cli LPOP "swarm:${TASK_ID}:shutdown")
|
|
23
|
-
|
|
24
|
-
if shutdown_detected; then
|
|
25
|
-
exit 130 # SIGINT code for graceful shutdown
|
|
26
|
-
fi
|
|
27
|
-
|
|
28
|
-
# Block on wake queue with 1-second timeout
|
|
29
|
-
WAKE_RESULT=$(redis-cli BZPOPMIN "$WAKE_QUEUE" 1)
|
|
30
|
-
|
|
31
|
-
if wake_received; then
|
|
32
|
-
process_wake_signal
|
|
33
|
-
break
|
|
34
|
-
fi
|
|
35
|
-
done
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### Exit Code Convention
|
|
39
|
-
|
|
40
|
-
- **Exit Code 130**: Graceful shutdown via shutdown signal (SIGINT equivalent)
|
|
41
|
-
- **Exit Code 0**: Normal completion after wake signal
|
|
42
|
-
|
|
43
|
-
## Usage
|
|
44
|
-
|
|
45
|
-
### Coordinator Broadcasts Shutdown
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
./invoke-waiting-mode.sh shutdown \
|
|
49
|
-
--task-id "auth-system" \
|
|
50
|
-
--reason "task_complete"
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
**Broadcast Behavior:**
|
|
54
|
-
- Shutdown signal is added to `swarm:{task-id}:shutdown` key
|
|
55
|
-
- All agents monitoring this task will receive the signal on their next poll cycle (max 1 second latency)
|
|
56
|
-
- Multiple agents can be shutdown with a single broadcast
|
|
57
|
-
|
|
58
|
-
### Agent Enters Waiting Mode
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
./invoke-waiting-mode.sh enter \
|
|
62
|
-
--task-id "auth-system" \
|
|
63
|
-
--agent-id "coder-1" \
|
|
64
|
-
--context "iteration-1"
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
**Agent will:**
|
|
68
|
-
1. Publish ready status to Redis
|
|
69
|
-
2. Enter polling loop monitoring both wake queue and shutdown key
|
|
70
|
-
3. Check shutdown key first (highest priority)
|
|
71
|
-
4. Block on wake queue with 1-second timeout
|
|
72
|
-
5. Exit with code 130 if shutdown signal received
|
|
73
|
-
6. Continue normally if wake signal received
|
|
74
|
-
|
|
75
|
-
## Priority Behavior
|
|
76
|
-
|
|
77
|
-
**Shutdown signals have HIGHEST priority:**
|
|
78
|
-
- Checked **before** wake queue on every poll cycle
|
|
79
|
-
- Even if wake signals are in the queue, shutdown is processed first
|
|
80
|
-
- Ensures clean task termination
|
|
81
|
-
|
|
82
|
-
## Performance Characteristics
|
|
83
|
-
|
|
84
|
-
- **Latency**: Max 1 second to detect shutdown (BZPOPMIN timeout)
|
|
85
|
-
- **Cost**: Still zero tokens during waiting (BZPOPMIN blocks, LPOP is instant)
|
|
86
|
-
- **Overhead**: Minimal - one LPOP per second for shutdown check
|
|
87
|
-
|
|
88
|
-
## Test Results
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
bash .claude/skills/redis-coordination/test-shutdown.sh
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
**Test Coverage:**
|
|
95
|
-
1. ✅ Agent enters waiting mode successfully
|
|
96
|
-
2. ✅ Agent receives shutdown signal and exits with code 130
|
|
97
|
-
3. ✅ Shutdown signal is broadcasted properly
|
|
98
|
-
4. ✅ Agent terminates gracefully within 1-2 seconds
|
|
99
|
-
|
|
100
|
-
## Integration Examples
|
|
101
|
-
|
|
102
|
-
### CFN Loop Coordinator
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
# After consensus reached or max iterations
|
|
106
|
-
./invoke-waiting-mode.sh shutdown \
|
|
107
|
-
--task-id "$TASK_ID" \
|
|
108
|
-
--reason "cfn_loop_complete"
|
|
109
|
-
|
|
110
|
-
echo "All agents notified of task completion"
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### Emergency Shutdown
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
# Abort all agents in a task
|
|
117
|
-
./invoke-waiting-mode.sh shutdown \
|
|
118
|
-
--task-id "$TASK_ID" \
|
|
119
|
-
--reason "emergency_abort"
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### Timeout Management
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
# Coordinator timeout
|
|
126
|
-
timeout 300 ./my-coordination-script.sh || {
|
|
127
|
-
echo "Coordinator timeout - sending shutdown to all agents"
|
|
128
|
-
./invoke-waiting-mode.sh shutdown \
|
|
129
|
-
--task-id "$TASK_ID" \
|
|
130
|
-
--reason "coordinator_timeout"
|
|
131
|
-
}
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
## File Changes
|
|
135
|
-
|
|
136
|
-
**Modified:**
|
|
137
|
-
- `/mnt/c/Users/masha/Documents/claude-flow-novice/.claude/skills/redis-coordination/invoke-waiting-mode.sh`
|
|
138
|
-
|
|
139
|
-
**Added:**
|
|
140
|
-
- `shutdown` command for broadcasting shutdown signals
|
|
141
|
-
- Multi-key monitoring in `enter` command
|
|
142
|
-
- Polling loop with shutdown priority
|
|
143
|
-
- Exit code 130 convention for graceful shutdown
|
|
144
|
-
|
|
145
|
-
**Test Suite:**
|
|
146
|
-
- `/mnt/c/Users/masha/Documents/claude-flow-novice/.claude/skills/redis-coordination/test-shutdown.sh`
|
|
147
|
-
|
|
148
|
-
## Benefits
|
|
149
|
-
|
|
150
|
-
1. **Graceful Cleanup**: Agents exit cleanly instead of hanging indefinitely
|
|
151
|
-
2. **Broadcast Efficiency**: Single shutdown command affects all agents
|
|
152
|
-
3. **Priority Handling**: Shutdown always takes precedence over wake signals
|
|
153
|
-
4. **Zero Token Cost**: Still maintains efficient blocking while waiting
|
|
154
|
-
5. **Fast Response**: Max 1 second latency to detect shutdown
|
|
155
|
-
|
|
156
|
-
## Future Enhancements
|
|
157
|
-
|
|
158
|
-
Potential improvements for future iterations:
|
|
159
|
-
|
|
160
|
-
1. **Agent-Specific Shutdown**: Target individual agents instead of broadcast
|
|
161
|
-
2. **Shutdown Acknowledgement**: Agents report shutdown receipt before exiting
|
|
162
|
-
3. **Lua Script Optimization**: Atomic shutdown check + wake queue pop
|
|
163
|
-
4. **Timeout Configuration**: Configurable poll timeout instead of hardcoded 1 second
|
|
164
|
-
5. **Shutdown Reason Logging**: Persist shutdown events to Redis for audit trail
|