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.
Files changed (162) hide show
  1. package/.claude/commands/CFN_LOOP_TASK_MODE.md +4 -47
  2. package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -276
  3. package/claude-assets/commands/CFN_LOOP_TASK_MODE.md +4 -47
  4. package/claude-assets/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -276
  5. package/dist/agents/agent-loader.js +165 -146
  6. package/dist/agents/agent-loader.js.map +1 -1
  7. package/dist/cli/agent-prompt-builder.js +25 -0
  8. package/dist/cli/agent-prompt-builder.js.map +1 -1
  9. package/dist/cli/config-manager.js +91 -109
  10. package/package.json +1 -1
  11. package/.claude/skills/cfn-redis-coordination/HEARTBEAT.md +0 -57
  12. package/.claude/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +0 -267
  13. package/.claude/skills/cfn-redis-coordination/LOGGING.md +0 -260
  14. package/.claude/skills/cfn-redis-coordination/README.md +0 -65
  15. package/.claude/skills/cfn-redis-coordination/SECURITY_REVIEW.md +0 -25
  16. package/.claude/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +0 -164
  17. package/.claude/skills/cfn-redis-coordination/SKILL.md +0 -720
  18. package/.claude/skills/cfn-redis-coordination/demos/test-dlq.sh +0 -129
  19. package/.claude/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +0 -320
  20. package/.claude/skills/cfn-redis-coordination/demos/test-orchestrator.sh +0 -249
  21. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +0 -148
  22. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +0 -163
  23. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake.sh +0 -138
  24. package/.claude/skills/cfn-redis-coordination/demos/test-quick-fix.sh +0 -81
  25. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +0 -45
  26. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +0 -68
  27. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +0 -56
  28. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +0 -81
  29. package/.claude/skills/cfn-redis-coordination/demos/test-quorum.sh +0 -57
  30. package/.claude/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +0 -187
  31. package/.claude/skills/cfn-redis-coordination/demos/test-shutdown.sh +0 -160
  32. package/.claude/skills/cfn-redis-coordination/demos/test-utils-unix.sh +0 -97
  33. package/.claude/skills/cfn-redis-coordination/demos/test-utils.sh +0 -97
  34. package/.claude/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +0 -59
  35. package/.claude/skills/cfn-redis-coordination/examples/README.md +0 -73
  36. package/.claude/skills/cfn-redis-coordination/examples/grafana-dashboard.json +0 -352
  37. package/.claude/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +0 -127
  38. package/.claude/skills/cfn-redis-coordination/examples/mesh-pattern.sh +0 -171
  39. package/.claude/skills/cfn-redis-coordination/examples/timeout-handling.sh +0 -227
  40. package/.claude/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +0 -239
  41. package/.claude/skills/cfn-redis-coordination/execute-product-owner-decision.sh +0 -258
  42. package/.claude/skills/cfn-redis-coordination/get-agent-timeout.sh +0 -177
  43. package/.claude/skills/cfn-redis-coordination/heartbeat-functions.sh +0 -137
  44. package/.claude/skills/cfn-redis-coordination/heartbeat-protocol.md +0 -106
  45. package/.claude/skills/cfn-redis-coordination/heartbeat.sh +0 -126
  46. package/.claude/skills/cfn-redis-coordination/init-swarm.sh +0 -148
  47. package/.claude/skills/cfn-redis-coordination/invoke-redis-pattern.sh +0 -220
  48. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +0 -283
  49. package/.claude/skills/cfn-redis-coordination/list-active-swarms.sh +0 -147
  50. package/.claude/skills/cfn-redis-coordination/log-event.sh +0 -109
  51. package/.claude/skills/cfn-redis-coordination/metrics-export.sh +0 -674
  52. package/.claude/skills/cfn-redis-coordination/metrics-schema.json +0 -66
  53. package/.claude/skills/cfn-redis-coordination/metrics-storage.md +0 -31
  54. package/.claude/skills/cfn-redis-coordination/monitor-cfn-violations.sh +0 -391
  55. package/.claude/skills/cfn-redis-coordination/monitor-heartbeats.sh +0 -101
  56. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +0 -141
  57. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +0 -31
  58. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  59. package/.claude/skills/cfn-redis-coordination/priority-wake-mechanism.md +0 -75
  60. package/.claude/skills/cfn-redis-coordination/priority_wake.py +0 -134
  61. package/.claude/skills/cfn-redis-coordination/query-dlq.sh +0 -162
  62. package/.claude/skills/cfn-redis-coordination/query-logs.sh +0 -103
  63. package/.claude/skills/cfn-redis-coordination/redis-pattern.sh +0 -619
  64. package/.claude/skills/cfn-redis-coordination/retrieve-context.sh +0 -58
  65. package/.claude/skills/cfn-redis-coordination/select-specialist-agent.sh +0 -371
  66. package/.claude/skills/cfn-redis-coordination/semantic-match-tfidf.py +0 -252
  67. package/.claude/skills/cfn-redis-coordination/send-heartbeat.sh +0 -165
  68. package/.claude/skills/cfn-redis-coordination/signal.sh +0 -38
  69. package/.claude/skills/cfn-redis-coordination/store-context.sh +0 -86
  70. package/.claude/skills/cfn-redis-coordination/store-epic-context.sh +0 -123
  71. package/.claude/skills/cfn-redis-coordination/test-context-injection.sh +0 -354
  72. package/.claude/skills/cfn-redis-coordination/test-timeout-enforcement.sh +0 -513
  73. package/.claude/skills/cfn-redis-coordination/tests/convert-line-endings.sh +0 -15
  74. package/.claude/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +0 -102
  75. package/.claude/skills/cfn-redis-coordination/tests/edge-cases-test.sh +0 -99
  76. package/.claude/skills/cfn-redis-coordination/tests/integration-test.sh +0 -170
  77. package/.claude/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +0 -82
  78. package/.claude/skills/cfn-redis-coordination/tests/run-test-suite.sh +0 -92
  79. package/.claude/skills/cfn-redis-coordination/tests/run-tests.sh +0 -4
  80. package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +0 -418
  81. package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +0 -124
  82. package/.claude/skills/cfn-redis-coordination/tests/test-primitives.sh +0 -166
  83. package/.claude/skills/cfn-redis-coordination/tests/test-utils.sh +0 -54
  84. package/.claude/skills/cfn-redis-coordination/tests/test_utils.sh +0 -49
  85. package/.claude/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +0 -76
  86. package/.claude/skills/cfn-redis-coordination/validate-parameters.sh +0 -492
  87. package/claude-assets/skills/cfn-redis-coordination/HEARTBEAT.md +0 -57
  88. package/claude-assets/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +0 -267
  89. package/claude-assets/skills/cfn-redis-coordination/LOGGING.md +0 -260
  90. package/claude-assets/skills/cfn-redis-coordination/README.md +0 -65
  91. package/claude-assets/skills/cfn-redis-coordination/SECURITY_REVIEW.md +0 -25
  92. package/claude-assets/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +0 -164
  93. package/claude-assets/skills/cfn-redis-coordination/SKILL.md +0 -720
  94. package/claude-assets/skills/cfn-redis-coordination/demos/test-dlq.sh +0 -129
  95. package/claude-assets/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +0 -320
  96. package/claude-assets/skills/cfn-redis-coordination/demos/test-orchestrator.sh +0 -249
  97. package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +0 -148
  98. package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +0 -163
  99. package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake.sh +0 -138
  100. package/claude-assets/skills/cfn-redis-coordination/demos/test-quick-fix.sh +0 -81
  101. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +0 -45
  102. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +0 -68
  103. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +0 -56
  104. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +0 -81
  105. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum.sh +0 -57
  106. package/claude-assets/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +0 -187
  107. package/claude-assets/skills/cfn-redis-coordination/demos/test-shutdown.sh +0 -160
  108. package/claude-assets/skills/cfn-redis-coordination/demos/test-utils-unix.sh +0 -97
  109. package/claude-assets/skills/cfn-redis-coordination/demos/test-utils.sh +0 -97
  110. package/claude-assets/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +0 -59
  111. package/claude-assets/skills/cfn-redis-coordination/examples/README.md +0 -73
  112. package/claude-assets/skills/cfn-redis-coordination/examples/grafana-dashboard.json +0 -352
  113. package/claude-assets/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +0 -127
  114. package/claude-assets/skills/cfn-redis-coordination/examples/mesh-pattern.sh +0 -171
  115. package/claude-assets/skills/cfn-redis-coordination/examples/timeout-handling.sh +0 -227
  116. package/claude-assets/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +0 -239
  117. package/claude-assets/skills/cfn-redis-coordination/execute-product-owner-decision.sh +0 -258
  118. package/claude-assets/skills/cfn-redis-coordination/get-agent-timeout.sh +0 -177
  119. package/claude-assets/skills/cfn-redis-coordination/heartbeat-functions.sh +0 -137
  120. package/claude-assets/skills/cfn-redis-coordination/heartbeat-protocol.md +0 -106
  121. package/claude-assets/skills/cfn-redis-coordination/heartbeat.sh +0 -126
  122. package/claude-assets/skills/cfn-redis-coordination/init-swarm.sh +0 -148
  123. package/claude-assets/skills/cfn-redis-coordination/invoke-redis-pattern.sh +0 -220
  124. package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +0 -283
  125. package/claude-assets/skills/cfn-redis-coordination/list-active-swarms.sh +0 -147
  126. package/claude-assets/skills/cfn-redis-coordination/log-event.sh +0 -109
  127. package/claude-assets/skills/cfn-redis-coordination/metrics-export.sh +0 -674
  128. package/claude-assets/skills/cfn-redis-coordination/metrics-schema.json +0 -66
  129. package/claude-assets/skills/cfn-redis-coordination/metrics-storage.md +0 -31
  130. package/claude-assets/skills/cfn-redis-coordination/monitor-cfn-violations.sh +0 -391
  131. package/claude-assets/skills/cfn-redis-coordination/monitor-heartbeats.sh +0 -101
  132. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +0 -141
  133. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +0 -31
  134. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  135. package/claude-assets/skills/cfn-redis-coordination/priority-wake-mechanism.md +0 -75
  136. package/claude-assets/skills/cfn-redis-coordination/priority_wake.py +0 -134
  137. package/claude-assets/skills/cfn-redis-coordination/query-dlq.sh +0 -162
  138. package/claude-assets/skills/cfn-redis-coordination/query-logs.sh +0 -103
  139. package/claude-assets/skills/cfn-redis-coordination/redis-pattern.sh +0 -619
  140. package/claude-assets/skills/cfn-redis-coordination/retrieve-context.sh +0 -58
  141. package/claude-assets/skills/cfn-redis-coordination/select-specialist-agent.sh +0 -371
  142. package/claude-assets/skills/cfn-redis-coordination/semantic-match-tfidf.py +0 -252
  143. package/claude-assets/skills/cfn-redis-coordination/send-heartbeat.sh +0 -165
  144. package/claude-assets/skills/cfn-redis-coordination/signal.sh +0 -38
  145. package/claude-assets/skills/cfn-redis-coordination/store-context.sh +0 -86
  146. package/claude-assets/skills/cfn-redis-coordination/store-epic-context.sh +0 -123
  147. package/claude-assets/skills/cfn-redis-coordination/test-context-injection.sh +0 -354
  148. package/claude-assets/skills/cfn-redis-coordination/test-timeout-enforcement.sh +0 -513
  149. package/claude-assets/skills/cfn-redis-coordination/tests/convert-line-endings.sh +0 -15
  150. package/claude-assets/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +0 -102
  151. package/claude-assets/skills/cfn-redis-coordination/tests/edge-cases-test.sh +0 -99
  152. package/claude-assets/skills/cfn-redis-coordination/tests/integration-test.sh +0 -170
  153. package/claude-assets/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +0 -82
  154. package/claude-assets/skills/cfn-redis-coordination/tests/run-test-suite.sh +0 -92
  155. package/claude-assets/skills/cfn-redis-coordination/tests/run-tests.sh +0 -4
  156. package/claude-assets/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +0 -418
  157. package/claude-assets/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +0 -124
  158. package/claude-assets/skills/cfn-redis-coordination/tests/test-primitives.sh +0 -166
  159. package/claude-assets/skills/cfn-redis-coordination/tests/test-utils.sh +0 -54
  160. package/claude-assets/skills/cfn-redis-coordination/tests/test_utils.sh +0 -49
  161. package/claude-assets/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +0 -76
  162. package/claude-assets/skills/cfn-redis-coordination/validate-parameters.sh +0 -492
@@ -1,165 +0,0 @@
1
- #!/bin/bash
2
- # Redis Coordination Skill - Agent Heartbeat Sender
3
- # Version: 2.0.0
4
- # Last Updated: 2025-10-20
5
- #
6
- # Usage:
7
- # # One-shot heartbeat (original behavior)
8
- # ./send-heartbeat.sh --task-id <id> --agent-id <id>
9
- #
10
- # # Start continuous heartbeat loop
11
- # ./send-heartbeat.sh start --task-id <id> --agent-id <id> --interval 30 &
12
- # HEARTBEAT_PID=$!
13
- #
14
- # # Stop heartbeat loop
15
- # ./send-heartbeat.sh stop --task-id <id> --agent-id <id> --pid $HEARTBEAT_PID
16
-
17
- # Strict error handling
18
- set -euo pipefail
19
-
20
- # Default values
21
- ACTION=""
22
- TASK_ID=""
23
- AGENT_ID=""
24
- STATUS="active"
25
- TTL=60
26
- INTERVAL=30 # For continuous mode
27
- HEARTBEAT_PID=""
28
- DETAILS='{}'
29
-
30
- # Parse command-line arguments
31
- while [[ $# -gt 0 ]]; do
32
- case "$1" in
33
- start|stop|once)
34
- ACTION="$1"
35
- shift
36
- ;;
37
- --task-id)
38
- TASK_ID="$2"
39
- shift 2
40
- ;;
41
- --agent-id)
42
- AGENT_ID="$2"
43
- shift 2
44
- ;;
45
- --status)
46
- STATUS="$2"
47
- shift 2
48
- ;;
49
- --ttl)
50
- TTL="$2"
51
- shift 2
52
- ;;
53
- --interval)
54
- INTERVAL="$2"
55
- shift 2
56
- ;;
57
- --pid)
58
- HEARTBEAT_PID="$2"
59
- shift 2
60
- ;;
61
- --details)
62
- DETAILS="$2"
63
- shift 2
64
- ;;
65
- *)
66
- echo "Unknown parameter: $1"
67
- exit 1
68
- ;;
69
- esac
70
- done
71
-
72
- # Validate required parameters
73
- if [[ -z "$TASK_ID" || -z "$AGENT_ID" ]]; then
74
- echo "Error: task-id and agent-id are required"
75
- exit 1
76
- fi
77
-
78
- # If no action specified, default to one-shot (backward compatibility)
79
- if [ -z "$ACTION" ]; then
80
- ACTION="once"
81
- fi
82
-
83
- HEARTBEAT_KEY="swarm:${TASK_ID}:${AGENT_ID}:heartbeat"
84
- MARKER_FILE="/tmp/heartbeat-${TASK_ID}-${AGENT_ID}.active"
85
-
86
- ##############################################################################
87
- # Send single heartbeat
88
- ##############################################################################
89
- function send_heartbeat() {
90
- # Generate heartbeat payload
91
- HEARTBEAT_PAYLOAD=$(jq -n \
92
- --arg timestamp "$(date +%s)" \
93
- --arg status "$STATUS" \
94
- --arg task_id "$TASK_ID" \
95
- --arg agent_id "$AGENT_ID" \
96
- --argjson details "$DETAILS" \
97
- '{
98
- "timestamp": $timestamp,
99
- "status": $status,
100
- "task_id": $task_id,
101
- "agent_id": $agent_id,
102
- "details": $details
103
- }')
104
-
105
- # Send heartbeat via Redis with auto-expiration
106
- redis-cli setex "$HEARTBEAT_KEY" "$TTL" "$HEARTBEAT_PAYLOAD" >/dev/null
107
- }
108
-
109
- ##############################################################################
110
- # Start continuous heartbeat loop
111
- ##############################################################################
112
- function start_heartbeat() {
113
- # Create marker file
114
- touch "$MARKER_FILE"
115
-
116
- # Background heartbeat loop
117
- (
118
- while [ -f "$MARKER_FILE" ]; do
119
- send_heartbeat
120
- sleep "$INTERVAL"
121
- done
122
- ) &
123
-
124
- echo "✓ Heartbeat started for $AGENT_ID (PID: $!, interval: ${INTERVAL}s)" >&2
125
- }
126
-
127
- ##############################################################################
128
- # Stop heartbeat loop
129
- ##############################################################################
130
- function stop_heartbeat() {
131
- # Remove marker file to stop loop
132
- rm -f "$MARKER_FILE"
133
-
134
- # Kill heartbeat process if PID provided
135
- if [ -n "$HEARTBEAT_PID" ] && kill -0 "$HEARTBEAT_PID" 2>/dev/null; then
136
- kill "$HEARTBEAT_PID" 2>/dev/null || true
137
- fi
138
-
139
- # Clean up heartbeat key
140
- redis-cli DEL "$HEARTBEAT_KEY" >/dev/null
141
-
142
- echo "✓ Heartbeat stopped for $AGENT_ID" >&2
143
- }
144
-
145
- ##############################################################################
146
- # Main
147
- ##############################################################################
148
- case "$ACTION" in
149
- start)
150
- start_heartbeat
151
- ;;
152
- stop)
153
- stop_heartbeat
154
- ;;
155
- once)
156
- send_heartbeat
157
- echo "✓ Heartbeat sent for $AGENT_ID" >&2
158
- ;;
159
- *)
160
- echo "Error: Invalid action: $ACTION"
161
- exit 1
162
- ;;
163
- esac
164
-
165
- exit 0
@@ -1,38 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Parse arguments
4
- while [[ $# -gt 0 ]]; do
5
- case "$1" in
6
- --key)
7
- key="$2"
8
- shift 2
9
- ;;
10
- --value)
11
- value="$2"
12
- shift 2
13
- ;;
14
- --ttl)
15
- ttl="$2"
16
- shift 2
17
- ;;
18
- *)
19
- echo "Unknown argument: $1"
20
- exit 1
21
- ;;
22
- esac
23
- done
24
-
25
- # Validate required arguments
26
- if [[ -z "$key" || -z "$value" ]]; then
27
- echo "Error: Both key and value are required"
28
- exit 1
29
- fi
30
-
31
- # Default TTL to 3600 if not provided
32
- ttl=${ttl:-3600}
33
-
34
- # Store signal in Redis with specified TTL
35
- redis-cli setex "$key" "$ttl" "$value"
36
-
37
- # Exit successfully
38
- exit 0
@@ -1,86 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Redis Context Storage Primitive
4
- # Updated interface to match orchestrator expectations
5
- # Supports both legacy (--key --context) and new (--task-id --key --value --namespace) interfaces
6
-
7
- # Initialize variables
8
- task_id=""
9
- key=""
10
- value=""
11
- namespace="swarm"
12
- ttl=3600
13
- append_mode=false
14
-
15
- # Parse arguments
16
- while [[ $# -gt 0 ]]; do
17
- case "$1" in
18
- --task-id)
19
- task_id="$2"
20
- shift 2
21
- ;;
22
- --key)
23
- key="$2"
24
- shift 2
25
- ;;
26
- --value)
27
- value="$2"
28
- shift 2
29
- ;;
30
- --context)
31
- # Legacy support: --context is alias for --value
32
- value="$2"
33
- shift 2
34
- ;;
35
- --namespace)
36
- namespace="$2"
37
- shift 2
38
- ;;
39
- --ttl)
40
- ttl="$2"
41
- shift 2
42
- ;;
43
- --append)
44
- append_mode=true
45
- shift
46
- ;;
47
- *)
48
- echo "Unknown argument: $1" >&2
49
- exit 1
50
- ;;
51
- esac
52
- done
53
-
54
- # Construct Redis key based on interface mode
55
- if [[ -n "$task_id" ]]; then
56
- # New interface: {namespace}:{task_id}:{key}
57
- redis_key="${namespace}:${task_id}:${key}"
58
- else
59
- # Legacy interface: key is used directly
60
- redis_key="$key"
61
- fi
62
-
63
- # Validate required arguments
64
- if [[ -z "$redis_key" || -z "$value" ]]; then
65
- echo "Error: Both key and value are required" >&2
66
- echo "Usage: $0 --task-id <id> --key <key> --value <data> [--namespace <ns>] [--ttl <seconds>] [--append]" >&2
67
- echo " or: $0 --key <full-key> --context <data> [--ttl <seconds>]" >&2
68
- exit 1
69
- fi
70
-
71
- # Handle append mode
72
- if [ "$append_mode" = true ]; then
73
- # Get existing value
74
- existing=$(redis-cli get "$redis_key" 2>/dev/null)
75
-
76
- # Append new value (comma-separated)
77
- if [[ -n "$existing" && "$existing" != "(nil)" ]]; then
78
- value="${existing},${value}"
79
- fi
80
- fi
81
-
82
- # Store in Redis with specified TTL
83
- redis-cli setex "$redis_key" "$ttl" "$value" >/dev/null
84
-
85
- # Exit successfully
86
- exit 0
@@ -1,123 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- ##############################################################################
4
- # Store Epic Context in Redis
5
- # Stores epic-level context for CLI-spawned agents to access
6
- #
7
- # Usage:
8
- # ./store-epic-context.sh --task-id <id> \
9
- # --epic-context <json> \
10
- # [--phase-context <json>] \
11
- # [--success-criteria <json>] \
12
- # [--ttl <seconds>]
13
- #
14
- # Example:
15
- # ./store-epic-context.sh --task-id "epic-auth-123" \
16
- # --epic-context '{
17
- # "epicGoal": "Build authentication system",
18
- # "inScope": ["JWT auth", "RBAC", "Session management"],
19
- # "outOfScope": ["OAuth", "MFA", "Biometrics"],
20
- # "phases": ["assessment", "implementation", "validation"]
21
- # }' \
22
- # --phase-context '{
23
- # "currentPhase": "assessment",
24
- # "dependencies": [],
25
- # "deliverables": ["Requirements doc", "Architecture design"]
26
- # }' \
27
- # --success-criteria '{
28
- # "acceptanceCriteria": [
29
- # "Core functionality implemented",
30
- # "Tests pass >80% coverage",
31
- # "Security review complete"
32
- # ],
33
- # "gateThreshold": 0.75,
34
- # "consensusThreshold": 0.90
35
- # }' \
36
- # --ttl 86400
37
- #
38
- # Redis Keys Created:
39
- # - swarm:<task-id>:epic-context
40
- # - swarm:<task-id>:phase-context
41
- # - swarm:<task-id>:success-criteria
42
- #
43
- # These keys are automatically read by cfn-spawn and injected as environment
44
- # variables into spawned agents:
45
- # - EPIC_CONTEXT
46
- # - PHASE_CONTEXT
47
- # - SUCCESS_CRITERIA
48
- ##############################################################################
49
-
50
- set -euo pipefail
51
-
52
- # Configuration
53
- TASK_ID=""
54
- EPIC_CONTEXT=""
55
- PHASE_CONTEXT=""
56
- SUCCESS_CRITERIA=""
57
- TTL=86400 # 24 hours default
58
-
59
- # Parse arguments
60
- while [[ $# -gt 0 ]]; do
61
- case $1 in
62
- --task-id)
63
- TASK_ID="$2"
64
- shift 2
65
- ;;
66
- --epic-context)
67
- EPIC_CONTEXT="$2"
68
- shift 2
69
- ;;
70
- --phase-context)
71
- PHASE_CONTEXT="$2"
72
- shift 2
73
- ;;
74
- --success-criteria)
75
- SUCCESS_CRITERIA="$2"
76
- shift 2
77
- ;;
78
- --ttl)
79
- TTL="$2"
80
- shift 2
81
- ;;
82
- *)
83
- echo "Unknown option: $1"
84
- exit 1
85
- ;;
86
- esac
87
- done
88
-
89
- # Validation
90
- if [ -z "$TASK_ID" ]; then
91
- echo "Error: --task-id is required"
92
- exit 1
93
- fi
94
-
95
- if [ -z "$EPIC_CONTEXT" ]; then
96
- echo "Error: --epic-context is required"
97
- exit 1
98
- fi
99
-
100
- # Store epic context
101
- echo "Storing epic context for task: $TASK_ID"
102
-
103
- if [ -n "$EPIC_CONTEXT" ]; then
104
- redis-cli set "swarm:${TASK_ID}:epic-context" "$EPIC_CONTEXT" EX "$TTL" > /dev/null
105
- echo " ✓ Epic context stored (TTL: ${TTL}s)"
106
- fi
107
-
108
- if [ -n "$PHASE_CONTEXT" ]; then
109
- redis-cli set "swarm:${TASK_ID}:phase-context" "$PHASE_CONTEXT" EX "$TTL" > /dev/null
110
- echo " ✓ Phase context stored (TTL: ${TTL}s)"
111
- fi
112
-
113
- if [ -n "$SUCCESS_CRITERIA" ]; then
114
- redis-cli set "swarm:${TASK_ID}:success-criteria" "$SUCCESS_CRITERIA" EX "$TTL" > /dev/null
115
- echo " ✓ Success criteria stored (TTL: ${TTL}s)"
116
- fi
117
-
118
- echo "✅ Context storage complete"
119
- echo ""
120
- echo "CLI-spawned agents will automatically receive this context via environment variables:"
121
- echo " - EPIC_CONTEXT"
122
- echo " - PHASE_CONTEXT"
123
- echo " - SUCCESS_CRITERIA"